Billing APIs

Introduction
Billing API is a RESTful API that allows setting up customers, collecting payments and maintaining balances for these customers, as well as creating recurring billing subscriptions.

Billing API documentation includes the following sections:

Objects - lists all recurring billing objects. The purpose of this section is to describe all object fields, their format and usage, provide the links to the corresponding database tables.

Type Enumerations – lists possible values that can be used in the respective fields within Billing API requests and responses. The purpose of this section is to provide an explanation of all enumerations used for API calls.

Actions - lists all actions that can be performed with key recurring billing objects. The purpose of this section is to describe the methods and format of API requests and the format of responses.

Integration Notes – lists integration notes associated with the Billing API objects and actions. The purpose of this section is to provide explicit information about the peculiarities of specific actions and object fields.

Code samples - provides examples of recurring billing use cases (creating billing plans, subscriptions, freeing or canceling subscriptions, reversing transactions, etc) and their implementation in JSON, XML formats. The purpose of this section is to provide examples that can be used for testing of the integration with the gateway.

To learn how to work with the Billing API, we recommend reviewing the integration notes first. Key recurring billing module terms are available here. For more detailed information about the recurring billing configurations and management, check the Recurring Billing Guide.

Base Resource URL:

https://[server-name]/api/v01/[customers]

Description:

Provides access to customers registered within the system.

Supported sub-resources:

Resource URL Description
https://[server-name]/api/v01/customers/[customer-id] Provides access to configuration settings for the specified customer.

Supported Actions:

~create (request)

Method:  PUT
Implicit:  Yes
Returns:  Customer
Consumes:  json,xml
Produces:  json,xml

Creates a customer.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 phone String NUMERIC R Phone number of the customer.
2 street1 String(128) STREET O Street address of the customer.
3 street2 String(128) STREET O Street address of the customer.
4 organizationName String(255) NAME_BUSINESS O
5 email String(100) EMAIL O Email address of the Customer.
11 code String(60) CODE C O
12 accountId Integer C R Identifier of the account within the gateway.
14 firstName String(125) NAME R
15 lastName String(125) NAME R
16 email String EMAIL O Email address of the customer.
17 isActive Boolean O Indicates whether a record is active within the system.
19 city String(50) ALPHANUMERIC_EXTENDED O City of the customer.
20 countryCode String(2) ALPHA O Country code of the customer's address.
21 state String(3) O State of the customer.
22 zipCode String(10) O ZIP or postal code of the customer.

~create (response)

Method:  PUT
Implicit:  Yes
Returns:  Customer
Consumes:  json,xml
Produces:  json,xml

Creates a customer.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 phone String NUMERIC R Phone number of the customer.
2 street1 String(128) STREET O Street address of the customer.
3 street2 String(128) STREET O Street address of the customer.
4 organizationName String(255) NAME_BUSINESS O
5 email String(100) EMAIL O Email address of the Customer used for filtering Customer records.
6 holderName String(500) R O Combined values of the firstName and lastName in the Customer.
Note: This value is a concatenation of the firstName and lastName values provided at the time of Customer creation or modification.
7 createDate Datetime R O Date when the Customer was created.
Note: Date format: yyyy-MM-dd.
8 address String(321) R O Combined address field of the Customer.
Note: The value is a comma separated concatenation of the street1, street2, city, state, zipCode, countryCode field values.
9 balance Integer R O Current balance of the Customer.
10 id Long R O Unique Customer ID generated by the system.
For more information see term: Customer.
11 code String(60) CODE C O
12 accountId Integer C R Identifier of the account within the gateway.
13 createDate Datetime R O Date when the record was created.

In API request, the date must be submitted in yyyy-MM-dd format.
In API response, the date is returned in yyyy-MM-dd HH:mm:ss format.
14 firstName String(125) NAME R
15 lastName String(125) NAME R
16 email String EMAIL O Email address of the customer.
17 isActive Boolean O Indicates whether a record is active within the system.
18 balance Integer R O Balance of the customer.
19 city String(50) ALPHANUMERIC_EXTENDED O City of the customer.
20 countryCode String(2) ALPHA O Country code of the customer's address.
21 state String(3) O State of the customer.
22 zipCode String(10) O ZIP or postal code of the customer.
23 holderName String R O Calculation field combines first name and last name.
Note: A combination of the first name and last name, separated by a space.
24 address String(321) R O Address associated with a payment card or bank account holder. The value is a concatenation of the street1, street2, city, state, zipCode, countryCode field values separated by commas (,).

~find (request)

Method:  GET
Implicit:  Yes
Returns:  List<Customer>
Consumes:  xurl
Produces:  json,xml

Returns a list of available customers based on specified search criteria.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 offset Integer O Index of the first record returned to the customer from the search result of a web search.
2 limit Integer O Maximum number of records to load per single search web call made by the customer.
3 firstName String O First name of the customer used for filtering Customer records.
4 lastName String O Last name of the customer used for filtering Customer records.
5 organizationName String O Name of the organization used for filtering Customer records.
6 accountId Integer O Account ID used for filtering records.
7 email String O Email address of the customer used for filtering Customer records.
8 phone String O Phone number of the customer used for filtering Customer records.
9 street String O Street of the mailing address of the customer used for filtering Customer records.
10 city String O City of the mailing address of the customer used for filtering Customer records.
11 state String O State code of the mailing address of the customer used for filtering Customer records.
12 zipCode String O ZIP or postal code of the mailing address of the customer used for filtering Customer records.
13 countryCode String O Country code of the mailing address of the customer used for filtering Customer records.

~find (response)

Method:  GET
Implicit:  Yes
Returns:  List<Customer>
Consumes:  xurl
Produces:  json,xml

Returns a list of available customers based on specified search criteria.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 phone String NUMERIC R Phone number of the customer.
2 street1 String(128) STREET O Street address of the customer.
3 street2 String(128) STREET O Street address of the customer.
4 organizationName String(255) NAME_BUSINESS O
5 email String(100) EMAIL O Email address of the Customer.
6 holderName String(500) R O Combined values of the firstName and lastName in the Customer.
Note: This value is a concatenation of the firstName and lastName values provided at the time of Customer creation or modification.
7 createDate Datetime R O Date when the Customer was created.
Note: Date format: yyyy-MM-dd.
8 address String(321) R O Combined address field of the Customer.
Note: The value is a comma separated concatenation of the street1, street2, city, state, zipCode, countryCode field values.
9 balance Integer R O Current balance of the Customer.
10 id Long R O Unique Customer ID generated by the system.
For more information see term: Customer.
11 code String(60) CODE C O
12 accountId Integer C R Identifier of the account within the gateway.
13 createDate Datetime R O Date when the record was created.

In API request, the date must be submitted in yyyy-MM-dd format.
In API response, the date is returned in yyyy-MM-dd HH:mm:ss format.
14 firstName String(125) NAME R
15 lastName String(125) NAME R
16 email String EMAIL O Email address of the customer.
17 isActive Boolean O Indicates whether a record is active within the system.
18 balance Integer R O Balance of the customer.
19 city String(50) ALPHANUMERIC_EXTENDED O City of the customer.
20 countryCode String(2) ALPHA O Country code of the customer's address.
21 state String(3) O State of the customer.
22 zipCode String(10) O ZIP or postal code of the customer.
23 holderName String R O Calculation field combines first name and last name.
Note: A combination of the first name and last name, separated by a space.
24 address String(321) R O Address associated with a payment card or bank account holder. The value is a concatenation of the street1, street2, city, state, zipCode, countryCode field values separated by commas (,).