Skip to main content
Version: v2.0

Callback Service

TripLink supports callback to customer interfaces in multiple business scenarios. Customers can implement their own business logic in the callback interface.

The callback is based on the HTTP/HTTPS protocol with the POST method, and all request bodies are in JSON format with all characters encoded in UTF-8.

The callback process is considered Failed if any of the following situations occur: request failure, request timeout, or response status code other than 2XX.

The callback is divided into Synchronous and Asynchronous types. Synchronous requests must respond in a timely manner and have no retry mechanism, while asynchronous requests do not need to respond in a timely manner and have a retry mechanism.

Callback List

NameTypeResponse TimeRetry CountRetry Interval
Authorization Decision CallbackSynchronous3sN/AN/A
Authorization Result NotificationAsynchronous9s20N × 2min
Settlement Result NotificationAsynchronous9s20N × 2min
CreateCard Result NotificationAsynchronous9s20N × 2min
CloseCard Result NotificationAsynchronous9s20N × 2min

The client can check the items they want to be notified of, and will only be notified if they are checked.

Config Submit

Authorization Decision Callback

Before approving an authorization request, TripLink will call back to this customer interface, allowing the customer to implement their own risk control and authorization decisions.

If the callback fails, TripLink will degrade to using default decision results for the customer, as outlined in the Callback Parameters.

If the callback fails continuously for 10 times, the system will no longer request the customer interface and will directly degrade, requiring the customer to manually re-enable it.

Request Body

NameTypeDescriptionNote
bizContentStringActual message.Needs to be deserialized through JSON.
See AuthorizationDecision for details.
signStringSignatureSign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

AuthorizationDecision

NameTypeDescriptionNote
authIdStringIDUnique globally.
transactionIdStringTransaction IDThe transactionId of the reversal transaction is same as the corresponding authorized transaction.
cardLogIdStringCard IDTripLink-specific card identifier.
localDateStringTransaction Local dateIn local time zone, formatted as yyyyMMdd.
localTimeSreingTransaction Local timeIn local time zone, formatted as HHmmss.
occurTimeStringTransaction Occurrence timeIn card time zone, formatted as yyyy-MM-dd HH:mm:ss.
messageTypeStringTransaction typeEnum value, 4 digits, see **authorization type ** dropdown list for details.
messageTypeDescStringTransaction type descriptionSee **authorization type ** dropdown list for details.
transCurrencyStringTransaction currencyISO 4217 currency code, consisting of 3 digits.
transCurrencyAmtStringTransaction amountDecimal number, corresponding to the transaction currency.
localCurrencyStringCard currencyISO 4217 currency code, consisting of 3 digits.
localCurrencyAmtStringCard transaction amountDecimal number, corresponding to the card currency.
For refund transactions, the card transaction amount is 0.
cardAvailableBalanceStringCard available balanceDecimal number, corresponding to the card currency.
merchantIdStringMerchant ID
merchantNameStringMerchant name
merchantCategoryCodeStringMerchant MCCISO 18245 merchant category code, a 4-digit number.
merchantCountryStringMerchant country(unstandardized)
isoMerchantCountryCodeStringMerchant countryISO 3166 country code, 3 letters.
(maybe empty)
merchantCityStringMerchant city
acquirerIdStringAcquirer ID
useRef1TxtStringUser-defined field 1
useRef2TxtStringUser-defined field 2
useRef3TxtStringUser-defined field 3
useRef4TxtStringUser-defined field 4
useRef5TxtStringUser-defined field 5
📋Authorization Type
📋Request Body Sample

Response Body

Clients must identify the authorization decision result through the code field in the response body.

If the value of the code field is 0, it means authorization is granted. If the value is not 0, it means authorization is denied.

NameTypeRequiredDescriptionNote
codeStringYResult code0: Authorization granted; non-0: Authorization denied.
msgStringNResult code description
📋response body sample

Authorization Result Notification

TripLink will send the authorization results to this customer interface asynchronously after the authorization is completed.

If the notification fails, it will be Retried. After the maximum number of retries is reached, this notification will no longer be sent, but other notifications will not be affected.

Request Body

NameTypeDescriptionNote
noticeTypeStringNotification typeauth.
bizContentStringActual messageIt needs to be deserialized through JSON.
See AuthorizationNotification for details.
signStringSignatureSign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

AuthorizationNotification

NameTypeDescriptionNote
authIdStringIDUnique globally.
transactionIdStringTransaction IDThe transactionId of the reversal transaction is same as the corresponding authorized transaction.
cardLogIdStringCard IDTripLink-specific card identifier.
occurTimeStringTransaction Occurrence timeIn card time zone, formatted as yyyy-MM-dd HH:mm:ss.
messageTypeStringTransaction typeEnum value, 4 digits, see authorization type dropdown list for details.
messageTypeDescStringTransaction type descriptionSee authorization type dropdown list for details.
reversalTypeStringReversal TypeOnly valid when the authorization type is 6930 or 6940.
0: System reversal; 1: Non-system reversal.
respCodeStringTransaction Response CodeEnumerated value, 4 digits.
See response code dropdown for details.
respCodeDescStringTransaction Response Code DescriptionSee response code dropdown for details.
approveCodeStringAuthorization CodeRandom 6 digits.
transCurrencyStringTransaction currencyISO 4217 currency code, consisting of 3 digits.
transCurrencyAmtStringTransaction amountDecimal number, corresponding to the transaction currency.
localCurrencyStringCard currencyISO 4217 currency code, consisting of 3 digits.
localCurrencyAmtStringCard transaction amountDecimal number, corresponding to the card currency.
For refund transactions, the card transaction amount is 0.
cardAvailableBalanceStringCard available balanceDecimal number, corresponding to the card currency.
merchantIdStringMerchant ID
merchantNameStringMerchant name
merchantCategoryCodeStringMerchant MCCISO 18245 merchant category code, a 4-digit number.
merchantCountryStringMerchant country(unstandardized)
isoMerchantCountryCodeStringMerchant countryISO 3166 country code, 3 letters.
(maybe empty)
merchantCityStringMerchant city
acquirerIdStringAcquirer ID
crossBorderTypeStringCross-border type0: Domestic; 1: Overseas.
useRef1TxtStringUser-defined field 1
useRef2TxtStringUser-defined field 2
useRef3TxtStringUser-defined field 3
useRef4TxtStringUser-defined field 4
useRef5TxtStringUser-defined field 5
📋authorization type
📋response code(6810 Authorization Approval)
📋response code(6890 Authorization Decline)
📋response code(6510 Auth Refund Approval)
📋response code(6590 Auth Refund Decline)
📋response code(6930 Authorization Reversal Approval)
📋response code(6940 Auth Refund Reversal Approval)
📋response code(6820 Authorization Query)
📋request body sample

Response Body

The customer must identify the notification receiving result through the code field in the response body

If the value of the code field is 0, it means receiving success. If the value is not 0, it means receiving failure.

NameTypeRequiredDescriptionNote
codeStringYResult code0: receiving success; non-0: receiving failure.
msgStringNResult code description
📋response body sample

Settlement Result Notification

TripLink will send the settlement results to this customer interface asynchronously after the authorization is completed.

If the notification fails, it will be Retried. After the maximum number of retries is reached, this notification will no longer be sent, but other notifications will not be affected.

Request Body

NameTypeDescriptionNote
noticeTypeStringNotification typeclearing.
bizContentStringActual messageIt needs to be deserialized through JSON.
See AuthorizationNotification for details.
signStringSignatureSign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

SettlementNotification

NameTypeDescriptionComment
serialNoStringtransaction IDGlobally unique.
occurDateTimeStringtransaction timeFormat yyyy-MM-dd HH:mm:ss.
postingDateTimeStringposting timeFormat yyyy-MM-dd HH:mm:ss.
postingSysTimeStringsystem posting timeFormat yyyy-MM-dd.
transactionCodeStringtransaction typeEnumerated type, 4 digits, see settlement type drop-down list.
transactionTypeStringtransaction code descriptionSee settlement type drop-down list.
approvalCodeStringauthorization codeRandom 6 alphanumeric.
isCreditStringcredit transactionDEBT: Debit, CRED: Credit.
originalTransactionCurrencyStringtransaction currency codeISO 4217 currency code, 3 digits.
originalTransactionAmountNumbertransaction amountDecimal, matching transaction currency.
cardTransactionCurrencyStringcard currencyISO 4217 currency code, 3 digits.
cardTransactionAmountNumbercard transaction AmountDecimal, matching card currency.
accountCurrencyStringsettlement currency codeISO 4217 currency code, 3 digits.
billAccountAmountNumbersettlement amountDecimal, matching settlement currency.
posMerchantIDStringmerchant ID
posMerchantNameStringmerchant name
posMerchantClassCodeStringmerchant MCCISO 18245 merchant type, 4 digits.
posMerchantCountryStringmerchant country(unstandardized)
isoMerchantCountryCodeStringmerchant countryISO 3166 country code, 3 letters.
(maybe empty)
posMerchantCityStringmerchant city
posAcquirerIDStringacquirer ID
transactionIdStringtransaction relation IDSettlement and corresponding authorization has same value.
cardLogIdStringcard IDTripLink card ID.
customerIdStringcustomer ID
📋settlement type
transactionCodetransactionTypeDescriptionDebit/CreditAmount Sign
2010PurchasePurchaseDEBTPositive
2110RefundRefundCREDNegative
📋request body sample
{
"noticeType": "clearing",
"bizContent": "{"serialNo":"MAST202507281626132705079335612","transactionId":"202507281626132705079335612","occurDateTime":"2025-07-28 16:26:13","postingDateTime":"2025-07-28 16:26:28","postingSysTime":"2025-07-28","transactionCode":"2010","transactionType":"Purchase","approvalCode":"SZX6WJ","isCredit":"DEBT","originalTransactionCurrency":"840","originalTransactionAmount":10.0,"cardTransactionCurrency":"840","cardTransactionAmount":10.0,"accountCurrency":"840","billAccountAmount":10.0,"posMerchantID":"797967000300753","posMerchantName":"","posMerchantClassCode":"0015","posMerchantCountry":"HKG","isoMerchantCountryCode":"HKG","posMerchantCity":"HKG","posAcquirerID":"00000032642"}",
"sign": "raqtzxjjWGyjrPDkn3aR+N+ZU6kpyiLeJNeFzQXmfoqsomkxsccg783FraLPWBrPgn0nhjtuVQLIWMply1chS7g1jgdGaFiGSXCwgL+XIVX0n2J1Z8YtDBEqeJLbRcmWiGAavQk8JSjBtDigJIopjL5mAT9+X5vrf4a6YxpAoky7DemuClKNb50OuH15ADICWednwQZsI0wJ8WTpZNb4f9jrMGdlztXvj/Nf7Gk2Uwx1v/morWEDe1BFD8FWFUsmKwdBxYS8iMT3f5YiAWzYt7VItOl6ymlNSdZmGazXYQ2MPScunPQXdSf2fQ6NM8NVlz7or5w5cj7aiZAgzpHUrQ=="
}

Response Body

The customer must identify the notification receiving result through the code field in the response body

If the value of the code field is 0, it means receiving success. If the value is not 0, it means receiving failure.

NameTypeRequiredDescriptionNote
codeStringYResult code0:receiving success;non-0:receiving failure。
msgStringNResult code description
📋response body sample

Deposit Result Notification

TripLink will send the deposit results to this customer interface asynchronously after the deposit is completed.

If the notification fails, it will be Retried. After the maximum number of retries is reached, this notification will no longer be sent, but other notifications will not be affected.

Request Body

NameTypeDescriptionNote
noticeTypeStringNotification typedeposit.
bizContentStringActual messageIt needs to be deserialized through JSON.
See DepositNotification for details.
signStringSignatureSign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

DepositNotification

NameTypeDescriptionComment
orderIdStringOrder IDGlobally unique.
orderTypeStringOrder TypeTopup.
creditAccountNoStringCredit Account Number
creditAccountNameStringCredit Account Name
debitAccountNoStringDebit Account Number
debitAccountNameStringDebit Account Name
currencyStringCurrencyISO 4217 currency code, 3 digits.
amountStringAmount
transactionTimeStringTransaction TimeFormat yyyy-MM-dd HH:mm:ss.
remarkStringRemark
📋request body sample

Response Body

The customer must identify the notification receiving result through the code field in the response body

If the value of the code field is 0, it means receiving success. If the value is not 0, it means receiving failure.

NameTypeRequiredDescriptionNote
codeStringYResult code0:receiving success;non-0:receiving failure。
msgStringNResult code description
📋request body sample

CreateCard Result Notification

TripLink will send the created card results to this customer interface asynchronously after the authorization is completed.

If the notification fails, it will be Retried. After the maximum number of retries is reached, this notification will no longer be sent, but other notifications will not be affected.

Request Body

NameTypeDescriptionNote
noticeTypeStringNotification typecreate.
bizContentStringActual messageIt needs to be deserialized through JSON.
See AuthorizationNotification for details.
signStringSignatureSign the original bizContent,Sign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

CreateCardNotification

NameTypeDescriptionNote
cardLogIdStringcard IDTripLink card ID.
requestIdStringrequest IDThe original create card request ID.
requestSourceStringrequest sourceAPI Via API request
Portal Via portal request
System System create card.
createTimeStringcreate card timeFormat yyyy-MM-dd HH:mm:ss
returnCodeStringresult codeEnumerated type,6digits,seeresult codedrop-down list.
(code other than 000000 means request failed)
errorMessageStringresult code descriptionSeeresult codedrop-down list.
cardCurrencyCodeStringcard currency codeISO 4217 currency code, 3 digits.
cardLimitStringcredit limitDecimal, matching card currency.
📋result code
returnCodeerrorMessage
000000Success
100000Input parameter is incorrect (not fixed)
100001Reduplicative requestid
200002Both MCC, MCC groups and [acquirerId,merchantId] are all empty
200003Customer info not find
200007Global parameter not find
200008InactiveDate must be greater than activeDate
200013Not find the mapping between the cardCurrency and settlementCurrency
200014AcquirerId/mid must not be empty
200022Not find active pan number config
200029Card exists pending request
200036card bin not support
200037InactiveDate must submit
200038cardCloseUsage not be null
200040Invalid global parameter (indate)
200043mcc group is empty
200044mcc group all is not supported
200048Card issuer failed (not fixed)
200060Card issuer parameter error (not fixed)
201000Card available balance exceeds the maximum limit
300004mcc link channel group is empty
300005Trading is risky
9XXXXXSystem error (not fixed)
📋request body sample

Response Body

The customer must identify the notification receiving result through the code field in the response body

If the value of the code field is 0, it means receiving success. If the value is not 0, it means receiving failure.

NameTypeRequiredDescriptionNote
codeStringYResult code0:receiving success;non-0:receiving failure。
msgStringNResult code description
📋response body sample

CloseCard Result Notification

TripLink will send the closed card results to this customer interface asynchronously after the authorization is completed.

If the notification fails, it will be Retried. After the maximum number of retries is reached, this notification will no longer be sent, but other notifications will not be affected.

Request Body

NameTypeDescriptionNote
noticeTypeStringNotification typeclose.
bizContentStringActual messageIt needs to be deserialized through JSON.
See AuthorizationNotification for details.
signStringSignatureSign the original bizContent,Verify the signature with the RSA public key of the API.
See Preparation for details.

CloseCardNotification

NameTypeDescriptionNote
cardLogIdStringcard IDTripLink card ID.
requestIdStringrequest IDThe original close card request ID.
requestSourceStringrequest sourceAPI Via API request
Portal Via portal request
System System create card.
cancelTimeStringclose card timeFormat yyyy-MM-dd HH:mm:ss
closedReasonStringclose card reasonEnumerated type,6digits,seeclose card resondrop-down list.
cardStatusStringcard statusCLOP:Pre-Canceled
📋close card reason

Response Body

The customer must identify the notification receiving result through the code field in the response body

If the value of the code field is 0, it means receiving success. If the value is not 0, it means receiving failure.

NameTypeRequiredDescriptionNote
codeStringYResult code0:receiving success;non-0:receiving failure。
msgStringNResult code description
📋response body sample

Notification Query and Resend

Customers can query all result notifications in the merchant system (Transaction Management - Notification Query) and support resend (single/batch).

Config Submit

Signature Verification SDK example

📋Java SDK
📋PHP SDK

TRIPLINK_PUBLIC_KEY:TripLink RSA public key.