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/[subscription-id]

Description:

Allows to manage the specified subscription.

Available sub-resources:

Resource URL Description
https://[server-name]/api/v01/customers/[customer-id]/subscriptions/[subscription-id]/adjustments    Provides access to the adjustments associated with the specified subscription.

Supported Actions:

cancel  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Cancels the subscription right away or on the specified date.

Parameters:
# Name Type Required Default Description
01 effectiveDate Date Yes Date when the subscription is going to be canceled.
02 note String No Any notes related to the cancelation of the subscription.


freeze  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Freezes the subscription for the specified period.

Parameters:
# Name Type Required Default Description
01 effectiveDate Date Yes Date when the subscription is going to be frozen. The date must be in future and correspond to the subscription billing date.
02 length Integer Yes Number of the payments for which the subscription is going to be frozen.
03 note String No Any notes related to the freeze of the subscription.


load  
Method:  GET       Implicit:  Yes       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml 
 
Returns settings of the subscription specified in the request.


modify  
Method:  POST       Implicit:  Yes       Returns:  Subscription      
Consumes:  json, xml  Produces:  json, xml 
 
Updates the subscription with the specified values of the note and paymentOptionId fields.

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


pause  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Pauses the subscription right away or on the specified date.

Parameters:
# Name Type Required Default Description
01 effectiveDate Date Yes Date when the subscription is going to be put on pause.
02 note String No Any notes related to the pausing of the subscription.


uncancel  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Uncancels the specified subscription.

Can be applied only to the subscriptions that have not been canceled yet.


unfreeze  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Unfreezes the specified subscription.

Can be applied only to the subscriptions that have been previously frozen.


unpause  
Method:  GET       Implicit:  No       Returns:  Subscription      
Consumes:  xurl  Produces:  json, xml, xurl 
 
Unpauses the specified subscription.

Can be applied only to the subscriptions that have been previously paused.