Update Billing
Overview
There will come a time where you need to update details stored against a stored token in order o allow for future payments to be made, i.e. Future REBILL and REUSE requests.
Your customer may have lost their card and their issuing bank has updated their cardnumber and exp_date and as such, you need to ensure that you have the latest information on record. To complete this, you must process a UPDATE_BILLING request.
SUBSCRIPTION_MANAGE request.
To complete updating your customer’s token reference, set the subscription_type parameter with the value UPDATE_BILLING. You can see below some sample code to get you started.
{
"timestamp":"20201126154545",
"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":"UPDATE_BILLING",
"amount":"0",
"currency_code_iso3":"GBP"
},
"billing":{
"cardholder_name":"MR E N JOHNSON",
"cardnumber":"4024007164218280",
"card_type":"VISA",
"cardcvv":"456",
"cardexp":"032026"
}
}
Request Parameters
The table below details the parameters that must be submitted in order to update your token reference - the INIT.
| Parameter | Format | Length | Description |
|---|---|---|---|
| subscription_type | string |
4 - 14 | Set value to: UPDATE_BILLING. Value should be set to UPDATE_BILLING. Acceptable Characters: a-Z A-Z _ |
Please see below sample code of an UPDATE_BILLING response.
{
"timestamp":"20201126154546",
"response_code":"1",
"response_message":"Transaction Success",
"company_id":"133",
"mid":"1556",
"transaction_id":"306751",
"transaction_type":"AUTH_ONLY",
"merchant_order_id":"20200327131224",
"amount":"0",
"currency_code_iso3":"GBP",
"authorization_code":"123456",
"acquirer_reference_number":"",
"avsaddress":"N",
"avszipcode":"NP",
"cvvresult":"N",
"bank_response_code":"00",
"bin":{
"issuing_bank":"BANK OF AMERICA",
"card_category":"CREDIT",
"card_level":"CLASSIC",
"issuing_country":"United Kingdom",
"issuing_country_iso2":"GB"
},
"response_hash":"3fa4e02f4cc4e5d4cb70099c732d8aeb122d9bb1ad5977ce21d8b8deb4e9bd13"
}
Reponse Parameters
The table below details the parameters that will be returned from your update billing request:
| Parameter | Format | Length | Description |
|---|---|---|---|
| timestamp | date |
14 | Date and time of transaction response. |
| response_code | int |
3 | Code describing the transaction result. |
| response_message | string |
1-100 | Text describing the transaction response. |
| company_id | int |
1-11 | API Company ID we issue to merchants. |
| mid | string |
1-11 | MID_ID the transaction was processed through. |
| transaction_id | int |
1-10 | Unique ID we generate to identify the transaction. |
| transaction_type | string |
1-12 | Transaction type, repeated from the request message. |
| merchant_order_id | string |
1-50 | Unique ID you’ll use to identify each transaction, repeated from the request. |
| amount | string |
1-11 | Transaction amount. |
| currency_code_iso3 | string |
3 | Transaction currency, an ISO 4217 3-digit code. |
| authorization_code | string |
0-50 | Authorisation code returned by the issuing bank. |
| acquirer_reference_number | string |
0-50 | Value set by the acquirer to track the transaction, when present. |
| avsaddress | string |
1-2 | AVS check on the first line of the customer’s address, when available. |
| avszipcode | string |
1-2 | AVS check on the customer’s postcode or zipcode, when available. |
| cvvresult | string |
1-2 | Result of CVV2 security check. |
| bank_response_code | int |
2 | Transaction result code communicated by the issuing bank. |
| bin | object |
||
| issuing_bank | string |
0-50 | Name of the bank issuing the card used for the transaction. |
| card_category | string |
0-30 | Category of the card used, for example CREDIT or DEBIT. |
| card_level | string |
0-30 | Level of the card used, for example CLASSIC. |
| issuing_country | string |
0-50 | Country issuing the card used for the transaction. |
| issuing_country_iso2 | string |
2 | Country issuing the card used for the transaction, an ISO2 two-letter code. |
| response_hash | string |
64 | Verification hash value. |