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.

Customer

Type:  
Abstract:  no
Status:  Active
Java Class:  CustomerAccount
Represents information about the customer.

Available Fields:

# Name Type Pattern Format Mode Usage Description
1 phone String NUMERIC R Phone number of the Customer.
2 street1 String(128) STREET O Street address of the Customer.
3 street2 String(128) STREET O Secondary Street address of the Customer.
Note: Additional street data such as appartment or suite number.
4 organizationName String(255) NAME_BUSINESS O Name of the associated organization for the Customer.
Note: OrganizationName is a user provided freeform field and does not represent any other data structure or object.
5 email String(100) EMAIL O Email address of the Customer.
6 holderName String(500) R O Combined values of the firstName and lastName in the Customer.
Note: This value is a concatenation of the firstName and lastName values provided at the time of Customer creation or modification.
7 createDate Datetime R O Date when the Customer was created.
Note: Date format: yyyy-MM-dd.
8 address String(321) R O Combined address field of the Customer.
Note: The value is a comma separated concatenation of the street1, street2, city, state, zipCode, countryCode field values.
9 balance Integer R O Current balance of the Customer.
Note: This value is in cents.
10 id Long R O Unique Customer ID generated by the system.
For more information see term: Customer.
11 code String(60) CODE C O Unique Customer 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.
12 accountId Integer C R Merchant account associated with Customer.
Note: If your API user is associated to more than one merchant account or group of merchant accounts, you can specify the merchant account ID for the ~find operation to reduce the data set in the API response.

Your API credentials may be associated with more than one accountId.

13 createDate Datetime R O Date when the Customer was created.
Note: Date format: yyyy-MM-dd HH:mm:ss.
14 firstName String(125) NAME R First name of the Customer.
15 lastName String(125) NAME R Last name of the Customer.
16 email String EMAIL O Email address of the Customer.
17 isActive Boolean O Status of the Customer.
Note: Values: true (active) or false (inactive).
18 balance Integer R O Current balance of the Customer.
Note: This value is in cents.
19 city String(50) ALPHANUMERIC_EXTENDED O City of the Customer.
20 countryCode String(2) ALPHA O Country code of the Customer.
21 state String(3) O State of the Customer.
Note: State value format is subject to the associated country code in the Customer object.
22 zipCode String(10) O ZIP/postal code of the Customer.
Note: ZipCode value format is subject to the associated country code in the Customer object.
23 holderName String R O Calculation field combines first name and last name.
Note: A combination of the first name and last name, separated by a space.
24 address String(321) R O Combined address field of the Customer.
Note: The value is a comma separated concatenation of the street1, street2, city, state, zipCode, countryCode field values.
25 state String(3) ALPHA O State of the Customer.
Note: State value format is subject to the associated country code in the Customer object.
26 zipCode String(10) ALPHANUMERIC_EXTENDED O ZIP/postal code of the Customer.
Note: ZipCode value format is subject to the associated country code in the Customer object.

XML Sample:

<customer
    phone="" 
    street1="" 
    street2="" 
    organizationName="UnitedThinkers" 
    email="" 
    holderName="" 
    createDate="" 
    address="" 
    balance="" 
    id="" 
    code="" 
    accountId="" 
    createDate="" 
    firstName="John Smith" 
    lastName="John Smith" 
    email="" 
    isActive="" 
    balance="" 
    city="" 
    countryCode="" 
    state="" 
    zipCode="" 
    holderName="" 
    address="" 
    state="" 
    zipCode="" />

JSON Sample:

{
  "phone": "",
  "street1": "",
  "street2": "",
  "organizationName": "UnitedThinkers",
  "email": "",
  "holderName": "",
  "createDate": "",
  "address": "",
  "balance": "",
  "id": "",
  "code": "",
  "accountId": "",
  "firstName": "John Smith",
  "lastName": "John Smith",
  "isActive": "",
  "city": "",
  "countryCode": "",
  "state": "",
  "zipCode": ""
}

XURL Sample:

?phone=&street1=&street2=&organizationName=UnitedThinkers&email=&holderName=&createDate=&address=&balance=&id=&code=&accountId=&createDate=&firstName=John+Smith&lastName=John+Smith&email=&isActive=&balance=&city=&countryCode=&state=&zipCode=&holderName=&address=&state=&zipCode=&
phone=
street1=
street2=
organizationName=UnitedThinkers
email=
holderName=
createDate=
address=
balance=
id=
code=
accountId=
createDate=
firstName=John Smith
lastName=John Smith
email=
isActive=
balance=
city=
countryCode=
state=
zipCode=
holderName=
address=
state=
zipCode=