System for implementing dynamic payments catalog
A system and method for implementing a dynamic payments catalog is described. A set of processors that satisfy a set of requirements is identified. Required fields for each of the set of processors are further identified. Valid values for each of the required fields identified are determined. A dynamic payments catalog is built based on the identified required fields and valid values. Access to the dynamic payments catalog is then provided to clients.
1 . A non-transitory computer-readable medium having instructions stored thereon that are executable by a first computing system to perform operations comprising:
receiving, from a second computing system, configuration information that includes dynamic user input parameters, wherein the dynamic user input parameters are determined by:
identifying, for multiple payment processors, respective sets of required fields for payment transactions; and
determining, for a first field of the identified respective sets of required fields, a first set of one or more restrictions on field inputs, wherein the first set of one or more restrictions satisfies multiple different restrictions on inputs to the first field imposed by the multiple payment processors;
receiving from the second computing system, a code snippet that consumes the dynamic user input parameters as inputs;
executing the code snippet to cause display of a first interface that includes the first field and imposes the first set of one or more restrictions on the field inputs to the first field according to the dynamic user input parameters; and
executing the code snippet to:
access and store, from the second computing system, updated dynamic user input parameters based on a change in a restriction by a payment processor, without updating the code snippet; and
cause display of a second interface that includes the first field and imposes a second set of one or more restrictions on inputs to the first field according to the updated dynamic user input parameters, wherein:
the second set of one or more restrictions satisfies one or more updated restrictions specified by a payment processor; and
the second interface is customized by other code executed by the first computing system second interface is customized by other code executed by the first computing system;
receive user input data based on user interaction with the first field;
determine that the user input data does not satisfy the second set of one or more restrictions based on the updated dynamic user input parameters;
generate a validation error in response to the determination that the user input does not satisfy the second set of one or more restrictions, without submitting the user input data to any other computer system for validation; and
receive updated user input data based on user interaction with the first field, subsequent to the validation error, wherein the updated user input satisfies the second set of one or more restrictions; and
submitting a message to a third computing system corresponding to one or more of the payment processors for processing, wherein the message includes the updated user input data.
2 . The non-transitory computer-readable medium of wherein the updated dynamic user input parameters include an update to dynamic logic, wherein the dynamic logic is based on one or more input conditions to determine whether the first field is editable in the second interface.
3 . The non-transitory computer-readable medium of wherein the dynamic user input parameters include one or more regular expressions.
4 . The non-transitory computer-readable medium of wherein the first set of one or more restrictions include a restriction on: a range of acceptable data values for the first field.
5 . The non-transitory computer-readable medium of wherein the first set of one or more restrictions include a restriction on: a relationship between the first field and another data field.
6 . The non-transitory computer-readable medium of wherein the first set of one or more restrictions include restrictions on: length of a string of characters; and types of characters in the string of characters.
7 . The non-transitory computer-readable medium of claim 1 , wherein the second set of one or more restrictions is a least-restrictive combination of restrictions by the multiple payment processors.
8 . A method, comprising:
transmitting, by a first computing system to a second computing system and to a third computing system, configuration information that includes dynamic user input parameters, wherein the dynamic user input parameters are determined by:
identifying, for multiple payment processors, respective sets of required fields for payment transactions; and
determining, for a first field of the identified respective sets of required fields, a first set of one or more restrictions on field inputs, wherein the first set of one or more restrictions satisfies multiple different restrictions on inputs to the first field imposed by the multiple payment processors;
providing, by the first computing system, a code snippet to the second computing system and to the third computing system, wherein the code snippet is executable to:
receive the configuration information;
cause display by the second computing system of a first interface that includes a first field and imposes a first set of one or more restrictions on the field inputs to the first field according to the dynamic user input parameters;
access and store updated dynamic user input parameters, by the second computing system, without updating the code snippet, based on a change in a restriction by a payment processor;
cause display by the second computing system of a second interface that includes the first field and imposes a second set of one or more restrictions on inputs to the first field according to the updated dynamic user input parameters, wherein the second set of one or more restrictions satisfies one or more updated restrictions specified by a payment processor;
cause display by the third computing system of a third interface, customized relative to the second interface based on execution of other code, that includes the first field and imposes the second set of one or more restrictions on inputs to the first field according to the updated dynamic user input parameters; and
generate a validation error by the second computing system in response to a user input to the first field that does not satisfy the second set of one or more restrictions; and
submitting a message, from the third computing system to a fourth computing system corresponding to one or more of the payment processors for processing, based on user input to the first field via the third computing system.
9 . The method of claim 8 , further comprising:
identifying, by the first computing system for multiple payment processors, respective sets of required fields for payment transactions; and
determining, by the first computing system for a first field of the identified required fields, the first set of one or more restrictions on field inputs, wherein the first set of one or more restrictions satisfies multiple different restrictions on inputs to the first field imposed by different payment processors; and
transmitting, by the first computing system, the configuration information; and in response to a change in a restriction by a payment processor, generate and transmit the updated dynamic user input parameters.
10 . The method of claim 8 , wherein the updated dynamic user input parameters include an update to dynamic logic, wherein the dynamic logic is based on one or more input conditions to determine whether the first field is editable in the second interface.
11 . The method of claim 8 , wherein the dynamic user input parameters include one or more regular expressions.
12 . The method of claim 8 , wherein the first set of one or more restrictions include a restriction on: a relationship between the first field and another data field.
13 . The method of claim 8 , further comprising: receiving, by the first computing system from the second computing system, payment transaction information that includes one or more user input values that were validated according to the second set of one or more restrictions.
14 . A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause performance of operations comprising:
generating, by a first computing system, configuration information that includes dynamic user input parameters, wherein the generating includes:
identifying, for multiple payment processors, respective sets of required fields for payment transactions; and
determining, for a first field of the identified respective sets of required fields, a first set of one or more restrictions on field inputs, wherein the first set of one or more restrictions satisfies multiple different restrictions on the field inputs to the first field imposed by the multiple payment processors;
providing, by the first computing system, a code snippet to a second computing system and to a third computing system, wherein the code snippet is executable to:
receive the configuration information;
cause display by the second computing system of a first interface that includes a first field and imposes a first set of one or more restrictions on the field inputs to the first field according to the dynamic user input parameters;
access and store updated dynamic user input parameters, by the second computing system, without updating the code snippet, based on a change in a restriction by a payment processor, wherein the updated dynamic user input parameters include an update to dynamic logic;
cause display by the second computing system of a second interface that includes the first field and imposes a second set of one or more restrictions on inputs to the first field according to the updated dynamic user input parameters, wherein the second set of one or more restrictions satisfies one or more updated restrictions specified by a payment processor and wherein the dynamic logic is based on one or more input conditions to determine whether the first field is editable in the second interface;
cause display by the third computing system of a third interface, customized relative to the second interface based on execution of other code, that includes the first field and imposes the second set of one or more restrictions on inputs to the first field according to the updated dynamic user input parameters; and
generate a validation error in response to a user input to the first field that does not satisfy the second set of one or more restrictions; and
submitting a message, from the third computing system to a fourth computing system corresponding to one or more of the payment processors for processing, based on user input to the first field via the third computing system.
15 . The non-transitory machine-readable medium of claim 14 , wherein the dynamic user input parameters include one or more regular expressions.
16 . The non-transitory machine-readable medium of claim 14 , wherein the first set of one or more restrictions include a restriction on: a relationship between the first field and another data field.
17 . The non-transitory machine-readable medium of claim 14 , wherein the first set of one or more restrictions include restrictions on: length of a string of characters; and types of characters in the string of characters.