IP Library Patent Application 18582435
Patent Application
App. No. 18/582,435

UNIVERSAL PAYMENT GATEWAY CONNECTOR FOR A MULTI-TENANT COMPUTING ENVIRONMENT

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/582,435
Abstract

Systems, methods, and computer-readable media are disclosed for implementing a universal payment connector module that enables a subscription billing engine of a multi-tenant computing system/computing environment to connect to one or more payment gateways in a manner that permits the multi-tenant system/environment to facilitate processing of a payment transaction at a payment gateway without requiring modification of payment field names of the payment transaction that are native to the multi-tenant system/environment to gateway-specific field names. In addition, systems, methods, and computer-readable media are disclosed that enable a tenant of the multi-tenant system/computing environment to define a custom payment method type and to request payments to be created based on the custom-defined payment method type.

Claims (71)

1 . A method, comprising:

receiving, at a multi-tenant system, via a call to a first application programming interface (API), a payload comprising a custom payment method type definition associated with a particular tenant of the multi-tenant system;

identifying one or more custom-defined payment fields in the custom payment method type definition;

generating a template payment method object comprising one or more default payment fields and the one or more custom-defined payment fields; and

storing the template payment method object in association with an identifier of the particular tenant.

2 . The method of claim 1 , further comprising:

determining that the payload comprises the custom payment method type definition based on receiving the payload via the call to the first API.

3 . The method of claim 1 , wherein identifying the one or more custom-defined payment fields comprises determining, from the custom payment method type definition, a respective data type for each of the one or more custom-defined payment fields.

4 . The method of claim 1 , further comprising:

receiving, at the multi-tenant system, via a call to a second API, a request to update the custom payment method type definition; and

modifying the custom payment method type definition responsive to receiving the request via the call to the second API.

5 . The method of claim 4 , wherein modifying the custom payment method type definition comprises at least one of adding a new custom-defined payment field, removing an existing custom-defined payment field, or changing a respective data type of the existing custom-defined payment field.

6 . A computer program product comprising a non-transitory computer-readable medium readable by a processing circuit, the non-transitory computer-readable medium storing instructions executable by the processing circuit to cause a method to be performed, the method comprising:

receiving, at a multi-tenant system, via a call to an application programming interface (API), a request to create a payment;

identifying, from the request to create the payment, a specified endpoint for the payment;

determining a custom payment method type definition corresponding to the requested payment;

generating a payment method object based on the custom payment method type definition; and

sending the payment method object to the specified endpoint.

7 . The computer program product of claim 6 , wherein the specified endpoint is a system external to the multi-tenant system, the third-party service system being configured to transform one or more payment fields in the payment method object to one or more payment gateway-specific payment fields and send the payment method object to a particular payment gateway.

8 . The computer program product of claim 7 , wherein determining the custom payment method type definition corresponding to the requested payment comprises:

determining an identifier associated with the request to create the payment; and

determining that the custom payment method type definition is stored in association with the identifier.

9 . The computer program product of claim 8 , wherein the identifier identifies a particular tenant of the multi-tenant system.

10 . The computer program product of claim 7 , wherein generating the payment method object based on the custom payment method type definition comprises:

determining a plurality of payment fields included in the custom payment method type definition, the plurality of payment fields including one or more default payment fields and one or more custom-defined payment fields;

identifying payment attribute information relating to the request to create the payment; and

populating the plurality of payment fields with the payment attribute information.

11 . The computer program product of claim 7 , wherein generating the payment method object based on the custom payment method type definition comprises:

determining a template payment method object that corresponds to the custom payment method type definition; and

instantiating the template payment method object to generate the payment method object.

12 . The computer program product of claim 11 , wherein instantiating the template payment method object comprises:

accessing stored payment attribute information associated with the request to create the payment; and

populating a plurality of payment fields of the template payment method object with the payment attribute information.

13 . The computer program product of claim 12 , wherein populating the plurality of payment fields comprises:

identifying a custom-defined payment field among the plurality of payment fields;

determining an expected data type for the custom-defined payment field;

identifying a portion of the payment attribute information that corresponds to the custom-defined payment field;

determining that a data type of the portion of the payment attribute information matches the expected data type; and

populating the custom-defined payment field with the portion of the payment attribute information.

14 . A multi-tenant system, comprising:

memory storing computer-executable instructions; and

at least one processor configured to access the memory and execute the computer-executable instructions to:

receive, via a call to a first application programming interface (API), a payload comprising a custom payment method type definition associated with a particular tenant of the multi-tenant system;

receive, via a call to a second API, a request to create a payment;

identify, from the request to create the payment, a specified endpoint for the payment;

determine that the custom payment method type definition corresponds to the requested payment;

generate a payment method object based on the custom payment method type definition; and

send the payment method object to the specified endpoint.

15 . The multi-tenant system of claim 14 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

receive, via a call to a third API, a request to update the custom payment method type definition; and

modify the custom payment method type definition responsive to receiving the request via the call to the third API.

16 . The multi-tenant system of claim 15 , wherein the at least one processor is configured to modify the custom payment method type definition by executing the computer-executable instructions to at least one of add a new custom-defined payment field, remove an existing custom-defined payment field, or change a respective data type of the existing custom-defined payment field.

17 . The multi-tenant system of 14 , wherein the at least one processor is configured to determine the custom payment method type definition corresponding to the requested payment by executing the computer-executable instructions to:

determine an identifier associated with the request to create the payment, the identifier identifying the particular tenant; and

determine that the custom payment method type definition is stored in association with the identifier.

18 . The multi-tenant system of claim 14 , wherein, responsive to receiving the payload comprising the custom payment method type definition, the at least one processor is further configured to execute the computer-executable instructions to:

identify one or more custom-defined payment fields in the custom payment method type definition;

generate a template payment method object comprising one or more default payment fields and the one or more custom-defined payment fields; and

store the template payment method object and the custom payment method type definition in association with an identifier of the particular tenant.

19 . The multi-tenant system of claim 18 , wherein the at least one processor is configured to generate the payment method object based on the custom payment method type definition by executing the computer-executable instructions to:

access the stored template payment method object corresponding to the custom payment method type definition based on its stored association with the identifier of the particular tenant; and

instantiate the template payment method object to generate the payment method object.

20 . The multi-tenant system of claim 19 , wherein the at least one processor is configured to instantiate the template payment method object by executing the computer-executable instructions to:

access stored payment attribute information associated with the request to create the payment; and

populate a plurality of payment fields of the template payment method object with the payment attribute information.

21 . The system of claim 20 , wherein the at least one processor is configured to populate the plurality of payment fields by executing the computer-executable instructions to:

identify a custom-defined payment field among the plurality of payment fields;

determine an expected data type for the custom-defined payment field;

identify a portion of the payment attribute information that corresponds to the custom-defined payment field;

determine that a data type of the portion of the payment attribute information matches the expected data type; and

populate the custom-defined payment field with the portion of the payment attribute information.

Assignments (2)
SECURITY INTEREST Recorded Feb 14, 2025
From: ZUORA, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 070236/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: CHIU, ADAM; LIANG, LU; MUNSHI, DHRUMIL; CHUDY, KAROL; SCHEMMEL, TYLER
To: ZUORA, INC.
Reel/Frame 069825/0686 →