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

Description:

Allows to manage the subscriptions associated with the specified customer.

Supported 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 (request)

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

Create subscription billing relationships by linking customers to payment plans for automated recurring charges. Enable predictable recurring revenue collection without the need to manage complex billing cycles.\n\r\n> **Note:** Each subscription requires an existing customer, payment plan, and associated payment method (card or bank account). The payment schedule is determined by the referenced payment plan configuration.\n\r\n> **Warning:** For Direct Debit (ACH) transactions, subscribe to NOC and return webhooks to receive real-time updates about bank account changes and failed transactions. Timely handling of these notifications prevents payment delays and reduces processing fees.\n\r\n> **Tip:** Use subscriptions for membership fees, recurring service charges, or any scheduled billing need. Our system automatically manages the billing cycle based on your payment plan parameters while retaining full control over the customer relationship.
Path Parameters:
# Name Type Pattern Format Mode Usage Description
1 customer-id Long O System-generated unique identifier for the customer.\n\r\n> **Note:** Automatically generated by the system. This field must not be provided in your request.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
2 firstInvoicingDate Date O Date when the invoicing will occur for the first time.
For more information see integration notes.
3 nextInvoicingDate Date O
4 taxAmount Integer O Tax amount (in cents) that will be associated with the transaction processing.
6 billingCycleType Enum C O Type of billing cycle to be used.
For more information see Billing Cycle Classifier.
7 code String(60) CODE C O Unique Subscription ID supplied by external/user's system.
Note: Optional secondary identifier. Typically this field is a reference to an ID in your own system to cross-reference it within our system. If not provided, the system will use the object 'id' generated at the time of object creation.
For more information see Reference Field Type.
9 firstBillingDate Date C R Date when the first billing will occur.
For more information see integration notes.
13 pendingAdjustmentEffectiveDate Date O Date when the pending adjustment for the Subscription will become effective.
15 pendingAdjustmentNote String(255) TEXT R Any additional details will be associated with the pending adjustment for the Subscription.
16 planId Reference C O Reference to a Plan that a Subscription will be associated with.
Note: Reference to the Plan that the Customer is subscribing.
19 accountId Integer O
20 amount Integer O
22 customerId Long O
23 firstBillingDate Date C R
26 length Integer C O
Length parameter is required for Fixed Subscriptions and cannot exceed 3 years. For subscriptions longer than 3 years, use Perpetual Subscription type, which does not require length parameter. Length maximum value correlated with the selected billingCycleType:
  • annually - 3,
  • semi-annually - 6,
  • quarterly - 12,
  • monthly - 36,
  • weekly - 153.
27 nextBillingDate Date O The date must be submitted in yyyy-MM-dd format.
28 note String(255) TEXT O
29 paymentOptionId Reference R
30 planId Reference O Identifier of the associated payment plan.
32 type Enum C O
33 billingCycleType Enum C O Type of the applied billing cycle.
34 pendingAdjustmentEffectiveDate Date O Effective date of the pending payment plan adjustment. The date must be submitted in yyyy-MM-dd format.
35 pendingAdjustmentNote String(255) TEXT R Note associated with the pending payment plan adjustment.
37 code String(60) CODE C O
39 nextInvoicingDate Date O
40 firstInvoicingDate Date O
41 taxAmount Integer O
42 planName String NAME O Name of the plan.

~create (response)

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

Create subscription billing relationships by linking customers to payment plans for automated recurring charges. Enable predictable recurring revenue collection without the need to manage complex billing cycles.\n\r\n> **Note:** Each subscription requires an existing customer, payment plan, and associated payment method (card or bank account). The payment schedule is determined by the referenced payment plan configuration.\n\r\n> **Warning:** For Direct Debit (ACH) transactions, subscribe to NOC and return webhooks to receive real-time updates about bank account changes and failed transactions. Timely handling of these notifications prevents payment delays and reduces processing fees.\n\r\n> **Tip:** Use subscriptions for membership fees, recurring service charges, or any scheduled billing need. Our system automatically manages the billing cycle based on your payment plan parameters while retaining full control over the customer relationship.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 pendingAdjustmentType Enum R O Type of the pending payment plan adjustment.
2 firstInvoicingDate Date O Date when the invoicing will occur for the first time, used for filtering records.
3 nextInvoicingDate Date O
4 taxAmount Integer O Tax amount used for filtering records.
5 planName String(255) R O Name of the plan.
6 billingCycleType Enum C O Type of a billing cycle used for filtering records.
7 code String(60) CODE C O Unique Subscription ID supplied by external/user's system used for filtering records.
8 createDate Datetime R O Date when the Subscription was created.
Note: Date format: yyyy-MM-dd.
9 firstBillingDate Date C R Date used for filtering Subscription records.
10 id Long R O Unique Subscription ID generated by the system.
11 lastBillingDate Date R O Date when the last billing occured.
12 lastUpdateDate Datetime R O Date when the last update was made to the Subscription.
13 pendingAdjustmentEffectiveDate Date O Date used for filtering Subscription records.
14 pendingAdjustmentLength Integer R O Number of times that the pending adjustment for the Subscription will generate an invoice.
15 pendingAdjustmentNote String(255) TEXT R Any additional details associated with the pending adjustment for the Subscription used for filtering Subscription records.
16 planId Reference C O Reference to a Plan used for filtering Subscription records.
17 status Enum R O Status of the record in the system.
For more information see Payment Plan Status.
18 id Long R O
19 accountId Integer O
20 amount Integer O
21 createDate Datetime R O 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.
22 customerId Long O
23 firstBillingDate Date C R
24 lastBillingDate Date R O 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.
25 lastUpdateDate Datetime R O 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.
26 length Integer C O
Length parameter is required for Fixed Subscriptions and cannot exceed 3 years. For subscriptions longer than 3 years, use Perpetual Subscription type, which does not require length parameter. Length maximum value correlated with the selected billingCycleType:
  • annually - 3,
  • semi-annually - 6,
  • quarterly - 12,
  • monthly - 36,
  • weekly - 153.
27 nextBillingDate Date O The date must be submitted in yyyy-MM-dd format.
28 note String(255) TEXT O
29 paymentOptionId Reference R
30 planId Reference O Identifier of the associated payment plan.
31 status Enum R O
32 type Enum C O
33 billingCycleType Enum C O Type of the applied billing cycle.
34 pendingAdjustmentEffectiveDate Date O Effective date of the pending payment plan adjustment. The date must be submitted in yyyy-MM-dd format.
35 pendingAdjustmentNote String(255) TEXT R Note associated with the pending payment plan adjustment.
36 pendingAdjustmentLength Integer R O Length of the pending payment plan adjustment.
37 code String(60) CODE C O
38 planName String R O Name of the associated payment plan.
39 nextInvoicingDate Date O
40 firstInvoicingDate Date O
41 taxAmount Integer O
42 planName String NAME O Name of the plan used for filtering records.

~find (request)

Method:  GET
Implicit:  Yes
Consumes:  xurl
Produces:  json,xml

Returns a list of available subscriptions.
Path Parameters:
# Name Type Pattern Format Mode Usage Description
1 customer-id Long O System-generated unique identifier for the customer.\n\r\n> **Note:** Automatically generated by the system. This field must not be provided in your request.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 offset Integer O Index of the first record returned from the search result.\n\r\n> **Note:** Default value is 0. Used with limit parameter for pagination.\n\r\n> **Tip:** Use this field for implementing paginated results. See Error Messages section for details on pagination issues.
2 limit Integer O Maximum number of records to load per search call.\n\r\n> **Note:** Default value is 100. Adjust based on performance requirements.\n\r\n> **Tip:** Use this field to balance response size and performance. See Webhooks Management Guide for details on handling large datasets.
3 planId Integer O Plan ID used for filtering Subscription records.
4 status String O Status of the Subscription used for filtering Subscription records.
5 billingCycleType String O Type of a Billing Cycle used for filtering Subscription records.
6 createDateFrom Date O The beginning date for filtering Subscription records; only records dated from this specific day onwards are included.
7 createDateTo Date O The concluding date for filtering Subscription records; only records up to and through this specified date are included.
8 lastBillingDateFrom Date O The beginning date of the last billing date range for filtering billing records; only records dated from this specified day onwards are included.
9 lastBillingDateTo Date O The concluding date of the last billing date range for filtering billing records; only records up to and through this specified date are included.
10 nextBillingDateFrom Date O The beginning date of the next billing date range for filtering upcoming billing records; only future records dated from this specified day onwards are included.
11 nextBillingDateTo Date O The concluding date of the next billing date range for filtering upcoming billing records; only future records up to and through this specified date are included.
12 amountFrom Integer O The lower amount limit for filtering Subscription records; only those with values at or above this specified amount are included.
13 amountTo Integer O The upper amount limit for filtering Subscription records; only those with values up to and through this specified amount are included.
14 type String O Type of the Subscription used for filtering Subscription records.
15 name String O Name of the Subscription used for filtering Subscription records.

~find (response)

Method:  GET
Implicit:  Yes
Consumes:  xurl
Produces:  json,xml

Returns a list of available subscriptions.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 pendingAdjustmentType Enum R O Type of the pending payment plan adjustment.
2 firstInvoicingDate Date O Date when the invoicing will occur for the first time.
For more information see integration notes.
3 nextInvoicingDate Date O
4 taxAmount Integer O Tax amount (in cents) associated with the transaction processing.
5 planName String(255) R O Name of the plan.
6 billingCycleType Enum C O Type of billing cycle used.
For more information see Billing Cycle Classifier.
7 code String(60) CODE C O Unique Subscription ID supplied by external/user's system.
Note: Optional secondary identifier. Typically this field is a reference to an ID in your own system to cross-reference it within our system. If not provided, the system will use the object 'id' generated at the time of object creation.
For more information see Reference Field Type.
8 createDate Datetime R O Date when the Subscription was created.
Note: Date format: yyyy-MM-dd.
9 firstBillingDate Date C R Date when the first billing occured.
For more information see integration notes.
10 id Long R O Unique Subscription ID generated by the system.
11 lastBillingDate Date R O Date when the last billing occured.
12 lastUpdateDate Datetime R O Date when the last update was made to the Subscription.
13 pendingAdjustmentEffectiveDate Date O Date when the pending adjustment for the Subscription become effective.
14 pendingAdjustmentLength Integer R O Number of times that the pending adjustment for the Subscription will generate an invoice.
15 pendingAdjustmentNote String(255) TEXT R Any additional details associated with the pending adjustment for the Subscription.
16 planId Reference C O Reference to a Plan that a Subscription is associated with.
Note: Reference to the Plan that the Customer is subscribing.
17 status Enum R O Status of the record in the system.
For more information see Payment Plan Status.
18 id Long R O
19 accountId Integer O
20 amount Integer O
21 createDate Datetime R O 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.
22 customerId Long O
23 firstBillingDate Date C R
24 lastBillingDate Date R O 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.
25 lastUpdateDate Datetime R O 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.
26 length Integer C O
Length parameter is required for Fixed Subscriptions and cannot exceed 3 years. For subscriptions longer than 3 years, use Perpetual Subscription type, which does not require length parameter. Length maximum value correlated with the selected billingCycleType:
  • annually - 3,
  • semi-annually - 6,
  • quarterly - 12,
  • monthly - 36,
  • weekly - 153.
27 nextBillingDate Date O The date must be submitted in yyyy-MM-dd format.
28 note String(255) TEXT O
29 paymentOptionId Reference R
30 planId Reference O Identifier of the associated payment plan.
31 status Enum R O
32 type Enum C O
33 billingCycleType Enum C O Type of the applied billing cycle.
34 pendingAdjustmentEffectiveDate Date O Effective date of the pending payment plan adjustment. The date must be submitted in yyyy-MM-dd format.
35 pendingAdjustmentNote String(255) TEXT R Note associated with the pending payment plan adjustment.
36 pendingAdjustmentLength Integer R O Length of the pending payment plan adjustment.
37 code String(60) CODE C O
38 planName String R O Name of the associated payment plan.
39 nextInvoicingDate Date O
40 firstInvoicingDate Date O
41 taxAmount Integer O
42 planName String NAME O Name of the plan.