Real-time Transaction Authorization Decision Interface Documentation

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.

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 is application/json

3. Interface Description

3.1 Request data structure is

{
  "id": "d8a258a2-2403-41a2-88d9-0761aabddc17",
  "businessType": "authorization",
  "data": { ... },// @see 3.1.1
  "sign": "cf1cf6e586abc408040b2c6f3a40f102f9bb4a9f27284f0218155f126a6be96d"
}

3.1.1 Request API Client Data Field

Field NameTypeRequiredDescription
idstringYID Management
cardIdstringYCard Identification
createTimestringYCreation Time
accountIdstringYaccountId
sourceIdstringYUnderlying bank transaction ID
transactionTypestringY[authorization]
transactionIdstringYInternal ID
transactionAmountstringYTransaction Amount
transactionCurrencystringYTransaction Currency
billAmountstringAt timesSettlement Amount
billCurrencystringAt timesSettlement Currency (USD)
detailstringAt timesTransaction Details
merchantNamestringYPlatform Name
mccstringYIndustry Code (MCC) to which the platform belongs
mccCategorystringNIndustry category to which MCC belongs
merchantCitystringNCity where the platform is located
merchantCountrystringNCountry/Region where the platform is located
merchantStatestringNState/Province where the platform is located
merchantZipcodestringNPlatform postal code
merchantMidstringNPlatform Number (MID

3.2 Return field

Field NameTypeRequiredDescription
codestringYAccording to 3.2.1
idstringYID returned by 3.1

3.2.1 Enumeration corresponding to code

CodeDescription
000Successful transaction
112Account is blocked
116Not enough money on account
124Account not found
481Customer cancellation
482The cardholder aborted the transaction after an authorization request had been sent
483Completed partially (amount less than original request)
496Response received too late
902Incorrect type of request or code of transaction
907CBS is not available
909Internal errors in the interface software
910CBS is in "log off" state
914Cancellation request sent when CBS operational day is closed
913Duplicate transaction
916Errors in software of CBS
894Temporary moratorium (TIME_MORATORIUM)
895Absence of information about debt (DEBTS_ABSENCE)
997Service of advance repayment of debt not available (SERVICE_NOT_ALLOWED)
814Limit reached for total number of transactions in cycle
912WDL limit exceeded
917Card's limit exceeded
938Account's limit exceeded
953Card is restricted
243LUK expired or transaction limit for key exceeded
940Original transaction not found
957Payment institution unknown or unsupported
239Terminate Subscription
893Purchase only, no cash back allowed
370Command to capture card from FRAUD
371Command to block and capture card from FRAUD
085Request is in Progress
841Currency conversion failed

3.3 Request Example

Request data

curl --location --request POST '客户提供决策服务地址' \
--header 'Content-Type: application/json' \
--data '{
  "id": "d8a258a2-2403-41a2-88d9-0761aabddc17",
  "businessType": "authorization",
  "data": {
    "id": "d8a258a2-2403-41a2-88d9-0761aabddc17",
    "cardId": "5c949944-679d-4870-be89-3036e2a2921f",
    "createTime": "2025-06-18T07:21:07.764Z",
    "accountId": "78cd0ac6-ba6d-47f0-89cb-3ee61c33b2eb",
    "sourceId": "2773310066554372217",
    "transactionType": "authorization",
    "transactionId": "32972b97-9e09-4e62-8609-39af33d442b0",
    "transactionAmount": 2100,
    "transactionCurrency": "HKD",
    "billAmount": 271.56,
    "billCurrency": "USD",
    "detail": "TRANSIT1 CITY NAME HK",
    "merchantName": "TRANSIT1",
    "mcc": "6011",
    "mccCategory": "",
    "merchantCity": "CITY NAME",
    "merchantCountry": "HK",
    "merchantState": "",
    "merchantZipcode": "",
    "merchantMid": ""
  },
  "sign": "cf1cf6e586abc408040b2c6f3a40f102f9bb4a9f27284f0218155f126a6be96d"
}'

Response Data

{
  "id": "d8a258a2-2403-41a2-88d9-0761aabddc17",
  "code": "000"
}

4. Special Cases

  1. During the check, for example, when it is our system's MCC blocklist, authorization will not be granted to downstream API clients.
  2. During the check, for example, if the balance is insufficient, authorization will not be granted to downstream API clients.