Continuous Payments (Recurring or CPA)

Endpoints

Time to play - access your API using these endpoints:

Overview

It’s time to process a payment for a subscription – this could happen at the first payment (remember INIT?) or subsequently, depending on how often the customer is billed. Set the subscription_type parameter to REBILL so we’re authorised to decrypt and charge a previously-stored card number for ongoing transactions.

if you would like to associate your merchant_customer_id or any custom data associated with the REBILL request, be sure to pass those fields through in your transaction request too.

Here’s an example of a REBILL authorisation request:

{
  "timestamp": "20170612200234",
  "company_id": "133",
  "company_pass": "password",
  "company_mid_id": "",
  "request_hash": "f0a18260b08a0bfacb...",
  "transaction": {
    "merchant_order_id": "20170612200234",
    "transaction_type": "AUTH_ONLY",
    "original_transaction_id": "1234567",
    "subscription_type": "REBILL",
    "amount": "100",
    "currency_code_iso3": "GBP",
    "merchant_customer_id": "",
    "merchant_custom_1": "",
    "merchant_custom_2": "",
    "merchant_custom_3": ""
  }
}
  

Request Parameters

Parameter Format Length Description
merchant_order_id
Required
string 1-50 Unique ID you’ll use to identify each transaction.
Acceptable Characters: a-z A-Z 0-9 _ -
transaction_type
Required
string 1-20 The type of transaction you are trying to perform - possible values for this request are either AUTH_ONLY or AUTH_CAPTURE.
Acceptable Characters: a-z A-Z _
original_transaction_id ints 1 - 11 transaction_id value we generated and returned in the original INIT request.
Acceptable Characters: 0-9
subscription_type string 4 - 14 Initiate new (INIT) or recharge existing (REBILL) subscription.
Acceptable Characters: a-Z A-Z _
amount
Required
string 0-11 Transaction amount.
Acceptable Characters: 0-9 in the format DDDDDD.CC
currency_code_iso3
Required
string 3 Transaction currency, an ISO 4217 3-digit code.
Acceptable Characters: a-z A-Z
merchant_customer_id string 0-50 Your internal unique customer reference. You can use this field to link multiple transactions to a single customer.
Acceptable Characters: a-z A-Z 0-9 , . - _
merchant_custom_1 string 0-50 You can send additional data relating to the customer or another internal reference - with more data, your internal teams will be able to identify the customer’s transactions.
Acceptable Characters: a-z A-Z 0-9 , . - _
merchant_custom_2 string 0-50 You can send additional data relating to the customer or another internal reference - with more data, your internal teams will be able to identify the customer’s transactions.
Acceptable Characters: a-z A-Z 0-9 , . - _
merchant_custom_3 string 0-50 You can send additional data relating to the customer or another internal reference - with more data, your internal teams will be able to identify the customer’s transactions. If you are using our dynamic descriptor feature, you will not be able to use the merchant_custom_3 field as the dynamic descriptor value should be passed in this field.
Acceptable Characters: a-z A-Z 0-9 , . - _

There’s no need to include customer and billing parameters in the REBILL request. We decrypt these values from the INIT request you previously processed – all coming together, right?

The response parameters are the same as a standard authorisation transaction. More information can be found right here.

Please note: if you re using both Recurring Payments as well as our Banking API, you should consider grouping your payments using our Transaction Link feature. This is to Link the card re-payment to the initial funds that were sent, this information can then be pulled into your dispute packs to strengthen your defence and increase your chances of winning your case.