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]/transactions/[transaction-id]/allocations

Description:

Represents allocations of funds across transactions (for example between payments and invoices).

Supported Actions:

~find (request)

Method:  GET
Implicit:  No
Returns:  Allocation
Consumes:  xurl
Produces:  json,xml

Track how customer payments are allocated to view and manage how funds are distributed between invoices and payments.\n\r\n> **Note:** Allocations represent how payment transactions are mapped to invoices within the recurring billing system, allowing you to monitor funds collection progress.\n\r\n> **Warning:** When implementing recurring billing, always monitor payment allocations to ensure proper reconciliation and accurate financial reporting.\n\r\n> **Tip:** Use allocation data to monitor revenue recognition timelines and resolve reconciliation discrepancies. See Billing Management guide for complete implementation details.
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.
2 transaction-id Long O Unique Transaction ID generated by the system.
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.

~find (response)

Method:  GET
Implicit:  No
Returns:  Allocation
Consumes:  xurl
Produces:  json,xml

Track how customer payments are allocated to view and manage how funds are distributed between invoices and payments.\n\r\n> **Note:** Allocations represent how payment transactions are mapped to invoices within the recurring billing system, allowing you to monitor funds collection progress.\n\r\n> **Warning:** When implementing recurring billing, always monitor payment allocations to ensure proper reconciliation and accurate financial reporting.\n\r\n> **Tip:** Use allocation data to monitor revenue recognition timelines and resolve reconciliation discrepancies. See Billing Management guide for complete implementation details.
Body Parameters:
# Name Type Pattern Format Mode Usage Description
1 id Long R O Unique Allocation ID generated by the system.
2 sourceId Long R O Reference to a Transaction that the Allocation is associated with.
Note: The balance of this source transaction was used to offset the balance of a target transaction.

Typical example: source transaction is a payment, target transaction is an invoice.
3 targetId Long R O Reference to a Transaction that the Allocation is associated with.
Note: The balance of this target transaction was offset by the source transaction.

Typical example: source transaction is a payment, target transaction is an invoice.
4 createDate Datetime R O Date when the Allocation was created.
Note: Date format: yyyy-MM-dd.
5 isActive Boolean R O Status of the Allocation.
Note: Values: true (active) or false (inactive).
6 amount Integer R O Amount (in cents) charged during the transaction processing.
7 targetTransactionType String R O
8 causeTransactionId Long R O
9 causeTransactionType String R O Type of a transaction that the Allocation is affected by.
Note: See causeTransactionId for detail.
10 taxAmount Integer O