Real-time Transaction Authorization Decision Interface Documentation
š“ Historical Authorization Document
1. Description
Real-time transaction authorization decision-making aims to allow Interlace customers with appropriate permissions to decide on authorizations sent directly to them, rather than having Interlace alone make the authorization decision. Currently supported only for Interlace Own HK Visa BINs.
2. Docking Process
- Merchants first provide a callback address to Interlace
- When a user conducts a transaction, Interlace will initiate a transaction authorization decision (Client VCC Decisioning) to the merchant
- Merchants shall return data in accordance with the interface format
- The merchant needs to respond within 2 seconds; otherwise, the current transaction will be automatically rejected by default.
RequestHeader's Content-Type isapplication/json
3. Interface Description
3.1 Request data structure is
{
"apiVersion": "v3",
"code": "000000",
"createTime": 1766665538105,
"eventType": "AUTHORIZATION",
"id": "b6dfe818-7a04-4664-8e35-bfdbf255a3e1",
"message": "",
"resource": {
"id": "454d5586-944f-43ca-ba14-bb78eb3ae2a8",
"cardId": "22a0ce1c-8f68-4665-b406-c07a380abea9",
"createTime": "2025-12-25T12:25:39.144Z",
"accountId": "3b86e5dd-e293-47c4-a3fc-ebb947f8632c",
"sourceId": "68ebe628-4ba9-40e7-a466-39237f63ce36",
"transactionType": "authorization",
"transactionId": "7d763a51-24af-4fc3-894e-d34a941960fa",
"transactionAmount": 0.02,
"transactionCurrency": "HKD",
"billAmount": 0.02,
"billCurrency": "USD",
"detail": "TRANSIT1 CITY NAME HK(ATM)",
"merchantName": "TRANSIT1",
"mcc": "6511",
"mccCategory": "",
"merchantCity": "CITY NAME",
"merchantCountry": "HK",
"merchantState": "",
"merchantZipcode": "",
"merchantMid": "",
"fee": 2.3,
"fees": [
{
"feeType": "Authorization Fee",
"amount": 1,
"currency": "USD"
},
{
"feeType": "Settlement Fee",
"amount": 0.3,
"currency": "USD"
},
{
"feeType": "Apple Pay Authorization Fee",
"amount": 0,
"currency": "USD"
},
{
"feeType": "ATM Withdrawal Fee",
"amount": 2,
"currency": "USD"
}
]
}
}3.1.1 Request API Client Data Field
| Field Name | Type | Required | Description |
|---|---|---|---|
| id | string | Y | ID Management |
| cardId | string | Y | Card Identification |
| createTime | string | Y | Creation Time |
| accountId | string | Y | accountId |
| sourceId | string | Y | Underlying bank transaction ID |
| transactionType | string | Y | [authorization] |
| transactionId | string | Y | Internal ID |
| transactionAmount | string | Y | Transaction Amount |
| transactionCurrency | string | Y | Transaction Currency |
| billAmount | string | At times | Settlement Amount |
| billCurrency | string | At times | Settlement Currency (USD) |
| detail | string | At times | Transaction Details |
| merchantName | string | Y | Platform Name |
| mcc | string | Y | Industry Code (MCC) to which the platform belongs |
| mccCategory | string | N | Industry category to which MCC belongs |
| merchantCity | string | N | City where the platform is located |
| merchantCountry | string | N | Country/Region where the platform is located |
| merchantState | string | N | State/Province where the platform is located |
| merchantZipcode | string | N | Platform postal code |
| merchantMid | string | N | Platform Number (MID |
| fee | string | ||
| fees | string |
3.2 Return field
| Field Name | Type | Required | Description |
|---|---|---|---|
| code | string | Y | According to 3.2.1 |
| id | string | Y | ID returned by 3.1 |
3.2.1 Enumeration corresponding to code
| Code | Description |
|---|---|
| 000 | Successful transaction |
| 112 | Account is blocked |
| 116 | Not enough money on account |
| 124 | Account not found |
| 481 | Customer cancellation |
| 482 | The cardholder aborted the transaction after an authorization request had been sent |
| 483 | Completed partially (amount less than original request) |
| 496 | Response received too late |
| 902 | Incorrect type of request or code of transaction |
| 907 | CBS is not available |
| 909 | Internal errors in the interface software |
| 910 | CBS is in "log off" state |
| 914 | Cancellation request sent when CBS operational day is closed |
| 913 | Duplicate transaction |
| 916 | Errors in software of CBS |
| 894 | Temporary moratorium (TIME_MORATORIUM) |
| 895 | Absence of information about debt (DEBTS_ABSENCE) |
| 997 | Service of advance repayment of debt not available (SERVICE_NOT_ALLOWED) |
| 814 | Limit reached for total number of transactions in cycle |
| 912 | WDL limit exceeded |
| 917 | Card's limit exceeded |
| 938 | Account's limit exceeded |
| 953 | Card is restricted |
| 243 | LUK expired or transaction limit for key exceeded |
| 940 | Original transaction not found |
| 957 | Payment institution unknown or unsupported |
| 239 | Terminate Subscription |
| 893 | Purchase only, no cash back allowed |
| 370 | Command to capture card from FRAUD |
| 371 | Command to block and capture card from FRAUD |
| 085 | Request is in Progress |
| 841 | Currency conversion failed |
3.3 Request Example
Request data
curl --location '客ę·ęä¾å³ēęå”å°å' \
--header 'signature-method: HMAC-SHA256' \
--header 'signature: abuAFlQGy9OYetTTsfM5sVEl2cLPXBJwrGe785NQGxU=' \
--header 'timestamp: 1766665538105' \
--header 'Content-Type: application/json' \
--data '{
"apiVersion": "v3",
"code": "000000",
"createTime": 1766665538105,
"eventType": "AUTHORIZATION",
"id": "b6dfe818-7a04-4664-8e35-bfdbf255a3e1",
"message": "",
"resource": "{\"id\":\"454d5586-944f-43ca-ba14-bb78eb3ae2a8\",\"cardId\":\"22a0ce1c-8f68-4665-b406-c07a380abea9\",\"createTime\":\"2025-12-25T12:25:39.144Z\",\"accountId\":\"3b86e5dd-e293-47c4-a3fc-ebb947f8632c\",\"sourceId\":\"68ebe628-4ba9-40e7-a466-39237f63ce36\",\"transactionType\":\"authorization\",\"transactionId\":\"7d763a51-24af-4fc3-894e-d34a941960fa\",\"transactionAmount\":0.02,\"transactionCurrency\":\"HKD\",\"billAmount\":0.02,\"billCurrency\":\"USD\",\"detail\":\"TRANSIT1 CITY NAME HK(ATM)\",\"merchantName\":\"TRANSIT1\",\"mcc\":\"6511\",\"mccCategory\":\"\",\"merchantCity\":\"CITY NAME\",\"merchantCountry\":\"HK\",\"merchantState\":\"\",\"merchantZipcode\":\"\",\"merchantMid\":\"\",\"fee\":2.3,\"fees\":\"[{\\\"feeType\\\":\\\"Authorization Fee\\\",\\\"amount\\\":1,\\\"currency\\\":\\\"USD\\\"},{\\\"amount\\\":0.3,\\\"currency\\\":\\\"USD\\\",\\\"feeType\\\":\\\"Settlement Fee\\\"},{\\\"amount\\\":0,\\\"currency\\\":\\\"USD\\\",\\\"feeType\\\":\\\"Apple Pay Authorization Fee\\\"},{\\\"amount\\\":2,\\\"currency\\\":\\\"USD\\\",\\\"feeType\\\":\\\"ATM Withdrawal Fee\\\"}]\"}"
}'Response Data
{
"id": "d8a258a2-2403-41a2-88d9-0761aabddc17",
"code": "000"
}4. Special Cases
- During the check, for example, when it is our system's MCC blocklist, authorization will not be granted to downstream API clients.
- During the check, for example, if the balance is insufficient, authorization will not be granted to downstream API clients.
Updated about 14 hours ago