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.


Plan

Type:  
Abstract:  no
Status:  Active
Java Class:  Plan
Represents information about the plan.
id
References: Plan.Id
XML Representation: attribute
Attributes:
Default Value
Identifier of the object used for references; auto-incremented integer value.

Identifier of the object used for references; auto-incremented integer value.

Note that plan code can be supplied as identifier when using API. In this case, prefix * is required. For example, planId="*standard_monthly_plan" .
code
References: Plan.Ref Code
XML Representation: attribute
Attributes:
Default Value
See Reference Field Type definition for additional information.
accountId
References: Plan.Merchant Account Code
XML Representation: attribute
Attributes: Required
Default Value
Identifier of the account within the gateway.
createDate
References: Plan.Create Date
XML Representation: attribute
Attributes:
Default Value
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.
name
References: Plan.Name
XML Representation: attribute
Attributes: Required
Default Value
Pattern: NAME
Name of the plan.
billingCycleType
References: Plan.Billing Cycle Cl
XML Representation: attribute
Attributes:
Default Value
Reference to the entity that represents billing cycle associated with the plan.
amount
References: Plan.Amount
XML Representation: attribute
Attributes: Required
Default Value
The amount of money charged every time billing occurs for this plan (e.g. amount of the transaction). Value must be submitted in cents without a decimal point.

isActive
References: Plan.Is Active
XML Representation: attribute
Attributes:
Default Value
Indicates whether a record is active within the system.

XML Sample:

<plan id=""  code=""  accountId=""  createDate=""  name="John Smith"  billingCycleType=""  amount=""  isActive="" />

"<plan id=\"\" code=\"\" accountId=\"\" createDate=\"\" name=\"John Smith\" billingCycleType=\"\" amount=\"\" isActive=\"\" />"

JSON Sample:

{
  "id": "",
  "code": "",
  "accountId": "",
  "createDate": "",
  "name": "John Smith",
  "billingCycleType": "",
  "amount": "",
  "isActive": ""
}

Query String Sample:

?id=&code=&accountId=&createDate=&name=John+Smith&billingCycleType=&amount=&isActive=&
id=
code=
accountId=
createDate=
name=John Smith
billingCycleType=
amount=
isActive=