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, XURL 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/[customer-id]/subscriptions

Description:

Allows to manage the subscriptions associated with the specified customer.

Available sub-resources:

Resource URL Description
https://[server-name]/api/v01/customers/[customer-id]/subscriptions/[subscription-id]    Allows to manage the specified subscription.

Supported Actions:

create  
Method:  PUT       Implicit:  Yes       Returns:  Subscription      
Consumes:  json, xml  Produces:  json, xml 
 
Creates a subscription.

Parameters:
# Name Type Required Default Description
01 object Subscription Yes Information about the subscription transaction.


find  
Method:  GET       Implicit:  Yes       Returns:  Subscription[]      
Consumes:  xurl  Produces:  json, xml 
 
Returns a list of available subscriptions.

Parameters:
# Name Type Required Default Description
01 offset Integer No 0 Index of the first record returned to the customer from the search result of a web search.
02 limit Integer No 100 Maximum number of records to load per single search web call made by the customer.
03 billingCycleType String No Defines the frequency of the billing.
Possible values:
W - weekly
M - monthly
Q - quarterly
S - semi-annually
A - annually
04 createDateFrom Date No Date when the subscription was created.
05 createDateTo Date No Date when the subscription was created.
06 lastBillingDateFrom Date No Date when the last invoice was created.
07 lastBillingDateTo Date No Date when the last invoice was created.
08 nextBillingDateFrom Date No Date when the subscription was next billing.
09 nextBillingDateTo Date No Date when the subscription was next billing.
10 amountFrom Integer No The amount of money charged every time billing occurs for this payment plan (e.g. amount of the transaction).
11 amountTo Integer No The amount of money charged every time billing occurs for this payment plan (e.g. amount of the transaction).
12 planId Integer No Unique identifier of a plan associated with the subscription. Provided by the gateway.
13 type String No Enumeration of possible types of payment plans.
14 status String No Status of a subscription.
15 name String(255) No Name of the associated payment plan.