# 回调服务
TripLink支持在多个业务场景回调客户接口,客户可以在回调接口实现自己的业务逻辑。
回调基于HTTP/HTTPS协议的POST方法,所有请求体都是JSON
格式,所有字符都使用UTF-8
编码。
回调过程发生如下情况均视为失败:请求失败;请求超时;响应状态码非2XX
。
回调分为同步与异步,同步请求必须及时响应,没有重试机制;异步请求无需及时响应,存在重试机制。
# 回调列表
名称 | 方式 | 响应时间 | 重试次数 | 重试间隔 |
---|---|---|---|---|
授权决策回调 | 同步 | 3s | N/A | N/A |
授权结果通知 | 异步 | 9s | 20 | N × 2min |
充值结果通知 | 异步 | 9s | 20 | N × 2min |
清算结果通知 | 异步 | 9s | 20 | N × 2min |
开卡结果通知 | 异步 | 9s | 20 | N × 2min |
销卡结果通知 | 异步 | 9s | 20 | N × 2min |
客户端可以勾选想要被通知的项,只有勾选了才会被通知。
# 授权决策回调
TripLink在批准授权请求之前回调此客户接口,客户可以以此实现自己的风控和授权决策。
回调失败则会降级,即TripLink会为客户使用的默认决策结果,参考回调参数。
连续失败10
次后系统会不再请求客户接口,直接降级,客户需手动再次开启。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 AuthorizationDecision 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
AuthorizationDecision
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
authId | String | 交易唯一ID | 全局唯一。 |
transactionId | String | 交易ID | 授权交易与对应冲正交易的transactionId 相同。 |
cardLogId | String | 卡ID | TripLink专用卡标识。 |
localDate | String | 交易当地日期 | 当地时区,格式yyyyMMdd 。 |
localTime | Sreing | 交易当地时间 | 当地时区,格式HHmmss 。 |
occurTime | String | 交易发生时间 | 卡时区,格式yyyy-MM-dd HH:mm:ss 。 |
messageType | String | 交易类型 | 枚举值,4 位数字,详见授权类型下拉框。 |
messageTypeDesc | String | 交易类型描述 | 详见授权类型下拉框。 |
transCurrency | String | 交易币种 | ISO 4217 货币编号,3 位数字。 |
transCurrencyAmt | String | 交易金额 | 小数,对应交易币种。 |
localCurrency | String | 卡币种 | ISO 4217 货币编号,3 位数字。 |
localCurrencyAmt | String | 卡交易金额 | 小数,对应卡币种。 退款交易 卡交易金额为0 |
cardAvailableBalance | String | 卡可用余额 | 小数,对应卡币种。 |
merchantId | String | 商户ID | |
merchantName | String | 商户名称 | |
merchantCategoryCode | String | 商户MCC | ISO 18245 商户类别,4 位数字。 |
merchantCountry | String | 商户所在国家 | (未标准化) |
isoMerchantCountryCode | String | 商户所在国家 | ISO 3166 国家代码,3 位字母。参考ISO 3166。 (可能为空值) |
merchantCity | String | 商户所在城市 | |
acquirerId | String | 收单行ID | |
useRef1Txt | String | 用户自定义字段1 | |
useRef2Txt | String | 用户自定义字段2 | |
useRef3Txt | String | 用户自定义字段3 | |
useRef4Txt | String | 用户自定义字段4 | |
useRef5Txt | String | 用户自定义字段5 |
授权类型
messageType | messageTypeDesc | 描述 |
---|---|---|
6810 | Authorization Approval | 消费授权 |
6510 | Auth Refund Approval | 退款授权 |
6820 | Authorization Query | 授权查询 |
请求体示例
{
"bizContent": "{\"authId\":\"311503c7-0466-4d01-a500-551c40b91cf6\",\"cardLogId\":\"51a50ffbbd0437ff10fffb93d1620e213441a30a3fa16164d57d98cade066ba0\",\"localTime\":\"025900\",\"localDate\":\"20220623\",\"occurTime\":\"2022-06-23 10:59:00\",\"merchantCategoryCode\":\"0011\",\"merchantName\":\"\",\"merchantCountry\":\"\",\"state\":\"\",\"merchantCity\":\"\",\"messageType\":\"6810\",\"messageTypeDesc\":\"Authorization Approval\",\"acquirerId\":\"213457\",\"merchantId\":\"080000100003\",\"transCurrency\":\"840\",\"transCurrencyAmt\":\"55.66\",\"localCurrency\":\"840\",\"localCurrencyAmt\":\"55.66\",\"useRef1Txt\":\"anything\",\"useRef2Txt\":\"\",\"useRef3Txt\":\"\",\"useRef4Txt\":\"\",\"useRef5Txt\":\"\",\"cardAvailableBalance\":\"955.57\"}",
"sign": "k2/HGZOYIFnYI+WZwW1R1YYryOmYd6ds5rAoioKstfslmeBJvVo1KkPOr5zMt86uZ9XFqJV1vDvavreClLnTBbALvtuF44JLZQsGngMe4MvKcWM2oJX4cCcqptqXkz7XpgCuSST0HeTJ8EHuAIQuF+W87/u86pcUMCBjDus1NuNf5MbS/y/eMW3qCwA5s6q1sp7AR2zmXna+eI+n+JEc9tylxo14Kr17pLGX0NRx+iwuw4H/tnazGDN49vW3kbFzRhj/jxN4vB2rvWIdrL1/pdhI2wFRt5b8AfIwhv5ae0GxP3AuaRCNU3LL+YvkvdIA2o+7RctkGhlbe4upzYARog=="
}
2
3
4
# 响应体
客户必须通过响应体中的code
字段标识授权决策结果:0
:授权通过;非0
:授权拒绝。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :授权通过;非0 :授权拒绝。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 授权结果通知
TripLink会在授权完成后以异步的方式发送授权结果至此客户接口。
通知失败会重试,重试次数达上限后不再发送本条通知,其他通知不影响。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
noticeType | String | 通知类型 | auth 。 |
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 AuthorizationNotification 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
AuthorizationNotification
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
authId | String | 交易唯一ID | 全局唯一。 |
transactionId | String | 交易ID | 授权交易与对应冲正交易的transactionId 相同。 |
cardLogId | String | 卡ID | TripLink专用卡标识。 |
occurTime | String | 交易发生时间 | 卡时区,格式yyyy-MM-dd HH:mm:ss 。 |
messageType | String | 交易类型 | 枚举值,4 位数字,详见授权类型下拉框。 |
messageTypeDesc | String | 交易类型描述 | 详见授权类型下拉框。 |
reversalType | String | 冲正类型 | 仅授权类型为6930 或6940 时有值。0 :系统冲正;1 :非系统冲正。 |
respCode | String | 交易响应码 | 枚举值,4 位数字,详见授权响应码下拉框。 |
respCodeDesc | String | 交易响应码描述 | 详见授权响应码下拉框。 |
approveCode | String | 授权码 | 随机6 位数字。 |
transCurrency | String | 交易币种 | ISO 4217 货币编号,3 位数字。 |
transCurrencyAmt | String | 交易金额 | 小数,对应交易币种。 |
localCurrency | String | 卡币种 | ISO 4217 货币编号,3 位数字。 |
localCurrencyAmt | String | 卡交易金额 | 小数,对应卡币种。 |
cardAvailableBalance | String | 卡可用余额 | 小数,对应卡币种。 |
merchantId | String | 商户ID | |
merchantName | String | 商户名称 | |
merchantCategoryCode | String | 商户MCC | ISO 18245 商户类别,4 位数字。 |
merchantCountry | String | 商户所在国家 | (未标准化) |
isoMerchantCountryCode | String | 商户所在国家 | ISO 3166 国家代码,3 位字母。参考ISO 3166。 (可能为空值) |
merchantCity | String | 商户所在城市 | |
acquirerId | String | 收单行ID | |
crossBorderType | String | 交易是否跨境 | 0 :境内;1 :境外。 |
useRef1Txt | String | 用户自定义字段1 | |
useRef2Txt | String | 用户自定义字段2 | |
useRef3Txt | String | 用户自定义字段3 | |
useRef4Txt | String | 用户自定义字段4 | |
useRef5Txt | String | 用户自定义字段5 |
授权类型
messageType | messageTypeDesc | 描述 |
---|---|---|
6810 | Authorization Approval | 消费授权(通过) |
6890 | Authorization Decline | 消费授权(拒绝) |
6510 | Auth Refund Approval | 退款授权(通过) |
6590 | Auth Refund Decline | 退款授权(拒绝) |
6930 | Authorization Reversal Approval | 消费授权冲正 |
6940 | Auth Refund Reversal Approval | 退款授权冲正 |
6820 | Authorization Query | 授权查询 |
授权响应码(6810 消费授权(通过))
respCode | respCodeDesc | 备注 |
---|---|---|
0000 | Authorization Approval | 授权成功。 |
授权响应码(6890 消费授权(拒绝))
respCode | respCodeDesc | 备注 |
---|---|---|
1002 | High Risk Transaction | 高风险的交易。 |
1003 | Invalid Account | 无效账号。 |
1101 | Abnormal Customer Status | 客户状态异常。 |
1102 | Card canceled | 卡片已注销。 |
1103 | Authorization Amount Error | 授权金额错误。 |
1104 | VAN Amount Limit Error | 账户余额不足。 |
1105 | Invalid Expiry Date | 无效的有效期。 |
1106 | Transaction Count Over Limit | 交易次数超过上限。 |
1107 | Invalid CVV2 | 无效的CVV2安全码。 |
1108 | VAN Amount Limit Error | 账户余额不足。 |
1110 | Trans Currency Not Allowed | 交易币种不支持。 |
1111 | MCC Error | MCC商户类别错误。 |
1112 | VAN credit limit greater than max Limit | 卡片授权金额超出最高限额。 |
1113 | VAN credit limit less than min Limit | 卡片授权金额低于最小限额。 |
1114 | Transaction Date before card activeDate | 交易日期早于卡片有效期。 |
1115 | Transaction Date after card inactiveDate | 交易日期晚于卡片失效日期。 |
1116 | Auth Amount greater than available VAN credit limit | 授权金额超出卡片可用余额。 |
1117 | Auth Amount greater than available account credit limit | 授权金额超出账户可用余额。 |
1118 | Limited usage with abnormal card status | 卡片状态异常暂不可用。 |
1201 | Authorization already in process, please wait until the last authorization completed | 授权过于频繁。 |
1203 | Not support 3ds | 卡不支持3DS交易。 |
2012 | Cardholder cancels identity verification | 持卡人取消身份验证。 |
2014 | Cardholder fails to complete identity verification within the specified time | 持卡人未能在规定时间内完成身份验证。 |
2019 | Cardholder fails to complete identity verification within the specified number of attempts | 持卡人未能在规定的尝试次数内完成身份验证。 |
2022 | Merchant requests invalid information | 商户请求信息不合法。 |
2222 | Authorization decision reject | 授权决策拒绝。 |
2299 | Authorization decision downgrade reject | 授权决策降级后拒绝。 |
3004 | Abnormal Card Scheme Network | 卡组网络异常。 |
9000 | Unknow Error | 未知的错误。 |
授权响应码(6510 退款授权(通过))
respCode | respCodeDesc | 备注 |
---|---|---|
0000 | Authorization Approval | 授权成功。 |
授权响应码(6590 退款授权(拒绝))
respCode | respCodeDesc | 备注 |
---|---|---|
1002 | High Risk Transaction | 高风险的交易。 |
1003 | Invalid Account | 无效账号。 |
1101 | Abnormal Customer Status | 客户状态异常。 |
1107 | Invalid CVV2 | 无效的CVV2安全码。 |
1110 | Trans Currency Not Allowed | 交易币种不支持。 |
1111 | MCC Error | MCC商户类别错误。 |
授权响应码(6930 消费授权冲正)
respCode | respCodeDesc | 备注 |
---|---|---|
0000 | Authorization Approval | 授权成功。 |
1002 | High Risk Transaction | 高风险的交易。 |
1003 | Invalid Account | 无效账号。 |
1101 | Abnormal Customer Status | 客户状态异常。 |
1105 | Invalid Expiry Date | 无效的有效期。 |
2001 | Original Transaction Unmatch | 未匹配到原始的授权交易(有冲正通知)。 |
2002 | Original Transaction Unmatch | 未匹配到原始的授权交易(无冲正通知)。 |
授权响应码(6940 退款授权冲正)
respCode | respCodeDesc | 备注 |
---|---|---|
0000 | Authorization Approval | 授权成功。 |
1002 | High Risk Transaction | 高风险的交易。 |
1003 | Invalid Account | 无效账号。 |
2001 | Original Transaction Unmatch | 未匹配到原始的授权交易(有冲正通知)。 |
2002 | Original Transaction Unmatch | 未匹配到原始的授权交易(无冲正通知)。 |
授权响应码(6820 授权查询)
respCode | respCodeDesc | 备注 |
---|---|---|
0000 | Authorization Approval | 授权成功。 |
1002 | High Risk Transaction | 高风险的交易。 |
1003 | Invalid Account | 无效账号。 |
1102 | Card canceled | 卡片已注销。 |
1118 | Limited usage with abnormal card status | 卡片状态异常暂不可用。 |
请求体示例
{
"noticeType": "auth",
"bizContent": "{\"customerId\":\"CSR47184A93E35E4\",\"authId\":\"7f1e58b6-e1da-4647-9054-0c1e5b85df4a\",\"cardLogId\":\"51a50ffbbd0437ff10fffb93d1620e213441a30a3fa16164d57d98cade066ba0\",\"cardAvailableBalance\":\"955.57\",\"occurTime\":\"2022-06-23 14:52:35\",\"transCurrency\":\"840\",\"transCurrencyAmt\":\"44.55\",\"localCurrency\":\"840\",\"localCurrencyAmt\":\"44.55\",\"respCode\":\"0000\",\"respCodeDesc\":\"Authorization Approval\",\"approveCode\":\"164913\",\"messageType\":\"6810\",\"messageTypeDesc\":\"Authorization Approval\",\"useRef1Txt\":\"anything\",\"merchantName\":\"\",\"merchantCategoryCode\":\"0011\",\"merchantId\":\"080000100003\",\"merchantCountry\":\"\",\"merchantCity\":\"\",\"merchantPostcode\":\"\",\"acquirerId\":\"213457\",\"state\":\"\"}",
"sign": "raqtzxjjWGyjrPDkn3aR+N+ZU6kpyiLeJNeFzQXmfoqsomkxsccg783FraLPWBrPgn0nhjtuVQLIWMply1chS7g1jgdGaFiGSXCwgL+XIVX0n2J1Z8YtDBEqeJLbRcmWiGAavQk8JSjBtDigJIopjL5mAT9+X5vrf4a6YxpAoky7DemuClKNb50OuH15ADICWednwQZsI0wJ8WTpZNb4f9jrMGdlztXvj/Nf7Gk2Uwx1v/morWEDe1BFD8FWFUsmKwdBxYS8iMT3f5YiAWzYt7VItOl6ymlNSdZmGazXYQ2MPScunPQXdSf2fQ6NM8NVlz7or5w5cj7aiZAgzpHUrQ=="
}
2
3
4
5
# 响应体
客户必须通过响应体中的code
字段标识通知接收结果:0
:接收成功;非0
:接收失败。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :接收成功;非0 :接收失败。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 清算结果通知
TripLink会在清算完成后以异步的方式发送清算结果至此客户接口。
通知失败会重试,重试次数达上限后不再发送本条通知,其他通知不影响。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
noticeType | String | 通知类型 | clearing 。 |
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 SettlementNotification 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
SettlementNotification
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
serialNo | String | 交易唯一ID | 全局唯一。 |
occurDateTime | String | 交易发生时间 | 格式yyyy-MM-dd HH:mm:ss 。 |
postingDateTime | String | 入账处理时间 | 格式yyyy-MM-dd HH:mm:ss 。 |
postingSysTime | String | 入账系统时间 | 格式yyyy-MM-dd 。 |
transactionCode | String | 交易类型 | 枚举值,4 位数字,详见清算类型下拉框。 |
transactionType | String | 交易类型描述 | 详见清算类型下拉框。 |
approvalCode | String | 授权码 | 随机6 位字母与数字。 |
isCredit | String | 借贷记 | DEBT :借记,CRED :贷记。 |
originalTransactionCurrency | String | 交易币种 | ISO 4217 货币编号,3 位数字。 |
originalTransactionAmount | Number | 交易金额 | 小数,对应交易币种。 |
cardTransactionCurrency | String | 卡币种 | ISO 4217 货币编号,3 位数字。 |
cardTransactionAmount | Number | 卡交易金额 | 小数,对应卡币种。 |
accountCurrency | String | 清算币种 | ISO 4217 货币编号,3 位数字。 |
billAccountAmount | Number | 清算金额 | 小数,对应账户币种。 |
posMerchantID | String | 商户ID | |
posMerchantName | String | 商户名称 | |
posMerchantClassCode | String | 商户MCC | ISO 18245 商户类别,4 位数字。 |
posMerchantCountry | String | 商户所在国家 | (未标准化) |
isoMerchantCountryCode | String | 商户所在国家 | ISO 3166 国家代码,3 位字母。(可能为空值) |
posMerchantCity | String | 商户所在城市 | |
posAcquirerID | String | 收单行ID | |
transactionId | String | 交易关联ID | 关联同笔交易的关联ID |
清算类型
transactionCode | transactionType | 描述 | 借贷记 | 金额数值 |
---|---|---|---|---|
2010 | Purchase | 消费 | DEBT | 正 |
2110 | Refund | 消费退款 | CRED | 负 |
请求体示例
{
"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=="
}
2
3
4
5
# 响应体
客户必须通过响应体中的code
字段标识通知接收结果:0
:接收成功;非0
:接收失败。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :接收成功;非0 :接收失败。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 充值结果通知
TripLink会在充值完成后以异步的方式发送充值结果至此客户接口。
通知失败会重试,重试次数达上限后不再发送本条通知,其他通知不影响。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
noticeType | String | 通知类型 | deposit 。 |
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 DepositNotification 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
DepositNotification
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
orderId | String | TripLink内部订单号 | 全局唯一。 |
orderType | String | 订单类型 | Topup 。 |
creditAccountNo | String | 贷方账号 | |
creditAccountName | String | 贷方账户名 | |
debitAccountNo | String | 借方账号 | |
debitAccountName | String | 借方账户名 | |
currency | String | 币种 | ISO 4217 货币编号,3 位字母。 |
amount | String | 金额 | |
transactionTime | String | 交易时间 | 格式yyyy-MM-dd HH:mm:ss 。 |
remark | String | 备注 |
请求体示例
{
"noticeType": "deposit",
"bizContent": "{\"orderId\":\"102208011748082999\",\"orderType\":\"Topup\",\"creditAccountNo\":\"6300156327\",\"creditAccountName\":\"123wzy\",\"debitAccontNo\":\"623046407891010\",\"debitAccountName\":\"XX银行\",\"currency\":\"HKD\",\"amount\":\"1.00\",\"transactionTime\":\"2022-08-01 17:49:30\",\"remark\":\"FT202107007100221615\"}",
"sign": "J4079QgEUJdqZtx/9/L8m2ZCEcs/18un2w+vL9SNmM7EaxrWX3lEA6CObv3FLpRNKadtkdekCavy0MK3tL+vb95MAX7nDQakeYhBk0oVfIyQYhYCtskxSHFy9ZO+Ys8f2MCbPNwl489SnrskXOE0Azxvtsk22C6GmWuRMA4gbO7xoneg/lMlxyiu/mVkoHZ8E1bBQBdYK0G14M/XzU/Xchn6VzPCydW9t7+epVEKgz3dO9qKJk6Gz1P/3ui+s84gWn1jUToaHR23BGjEg9wZln1K/1x5CF6/kUjHhSfq1bAvD5ctsajKvYTaspv65dVh7untNLl5K1WAI7EZ1YFGog=="
}
2
3
4
5
# 响应体
客户必须通过响应体中的code
字段标识通知接收结果:0
:接收成功;非0
:接收失败。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :接收成功;非0 :接收失败。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 开卡结果通知
TripLink会在开卡后以异步的方式发送开卡结果至此客户接口。
通知失败会重试,重试次数达上限后不再发送本条通知,其他通知不影响。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
noticeType | String | 通知类型 | create 。 |
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 CreateCardNotification 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
CreateCardNotification
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
cardLogId | String | 卡ID | TripLink专用卡标识。 |
requestId | String | 请求流水号 | 原始请求开卡的流水号 |
requestSource | String | 请求来源 | API 通过API请求的开卡Portal 通过客户端请求的开卡System 系统开卡。 |
createTime | String | 开卡时间 | 格式 yyyy-MM-dd HH:mm:ss |
returnCode | String | 结果码 | 枚举值,6 位数字,详见结果码下拉框。(非 000000 表示请求处理失败) |
errorMessage | String | 结果码描述 | 详见结果码下拉框。 |
cardCurrencyCode | String | 卡币种 | ISO 4217 货币编号,3 位数字。 |
cardLimit | String | 额度 | 小数,对应卡币种。 |
结果码
returnCode | errorMessage | 备注 |
---|---|---|
000000 | Success | 成功。 |
100000 | Input parameter is incorrect(不固定) | 请求参数错误。 |
100001 | Reduplicative requestid | requestId 重复。 |
200002 | Both MCC, MCC groups and [acquirerId,merchantId] are all empty | supportedMccGroup 与(supportedMid 或supportedAccquirerId )都为空。 |
200003 | Customer info not find | 客户信息不存在。 |
200007 | Global parameter not find | 客户全局配置不存在。 |
200008 | InactiveDate must be greater than activeDate | 不可交易日必须晚于可交易日。 |
200013 | Not find the mapping between the cardCurrency and settlementCurrency | 结算账户不存在。 |
200014 | AcquirerId/mid must not be empty | 收单行ID与商户ID必须同时存在。 |
200022 | Not find active pan number config | 卡号生成失败。 |
200029 | Card exists pending request | 其他操作执行中。 |
200036 | card bin not support | 卡品牌不支持。 |
200037 | InactiveDate must submit | 卡不可交易日生成失败。 |
200038 | cardCloseUsage not be null | cardCloseUsage 格式不正确。 |
200040 | Invalid global parameter (indate) | 卡有效期配置不存在。 |
200043 | mcc group is empty | supportedMccGroup 为空。 |
200044 | mcc group all is not supported | supportedMccGroup 不可为all 。 |
200048 | (不固定) | 发卡行处理失败。 |
200060 | (不固定) | 发卡行请求参数错误。 |
201000 | Card available balance exceeds the maximum limit | 卡可用额度超过限额。 |
300004 | mcc link channel group is empty | 发卡行MCC组为空。 |
300005 | Trading is risky | 高风险请求。 |
9XXXXX | (不固定) | 系统错误。 |
请求体示例
{
"noticeType": "create",
"bizContent": "{"cardLogId":"e85f0bbf32e882ca34f1d74efef58c71a31d3dea7d9a8d7a45b2d068d049fa28","requestId":"2025072820290001","requestSource":"API","createTime":"2025-07-28 20:30:19","returnCode":"000000","errorMessage":"","cardCurrencyCode":"392","cardLimit":"1000"}",
"sign": "J4079QgEUJdqZtx/9/L8m2ZCEcs/18un2w+vL9SNmM7EaxrWX3lEA6CObv3FLpRNKadtkdekCavy0MK3tL+vb95MAX7nDQakeYhBk0oVfIyQYhYCtskxSHFy9ZO+Ys8f2MCbPNwl489SnrskXOE0Azxvtsk22C6GmWuRMA4gbO7xoneg/lMlxyiu/mVkoHZ8E1bBQBdYK0G14M/XzU/Xchn6VzPCydW9t7+epVEKgz3dO9qKJk6Gz1P/3ui+s84gWn1jUToaHR23BGjEg9wZln1K/1x5CF6/kUjHhSfq1bAvD5ctsajKvYTaspv65dVh7untNLl5K1WAI7EZ1YFGog=="
}
2
3
4
5
# 响应体
客户必须通过响应体中的code
字段标识通知接收结果:0
:接收成功;非0
:接收失败。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :接收成功;非0 :接收失败。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 销卡结果通知
TripLink会在预销卡完成后以异步的方式发送预销卡通知至此客户接口。
通知失败会重试,重试次数达上限后不再发送本条通知,其他通知不影响。
# 请求体
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
noticeType | String | 通知类型 | close 。 |
bizContent | String | 实际报文 | 需要通过JSON 反序列化。详见 CloseCardNotification 。 |
sign | String | 签名 | 对bizContent 原文签名,验签RSA公钥同API。详见准备工作。 |
CloseCardNotification
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
cardLogId | String | 卡ID | TripLink专用卡标识。 |
requestId | String | 请求流水号 | 原始请求开卡的流水号 |
requestSource | String | 请求来源 | API 通过API请求的开卡Portal 通过客户端请求的开卡System 系统开卡。 |
cancelTime | String | 销卡时间 | 格式 yyyy-MM-dd HH:mm:ss |
closedReason | String | 销卡原因 | 枚举值,6 位数字,详见销卡原因下拉框。 |
cardStatus | String | 卡状态 | CLOP :预销卡 |
销卡原因
closedReason | 备注 |
---|---|
100001 | 客户通过Portal端或API主动销卡。 |
100002 | 到达客户设置的关卡百分比,自动销卡。 |
100003 | 单次卡已被使用,自动销卡。 |
100005 | 风险卡,风控自动销卡。 |
请求体示例
{
"noticeType": "close",
"bizContent": "{"cardLogId":"e85f0bbf32e882ca34f1d74efef58c71a31d3dea7d9a8d7a45b2d068d049fa28","requestId":"202507282046001","requestSource":"API","closedReason":"100001","cancelTime":"2025-07-28 20:50:42","cardStatus":"CLOP"}",
"sign": "J4079QgEUJdqZtx/9/L8m2ZCEcs/18un2w+vL9SNmM7EaxrWX3lEA6CObv3FLpRNKadtkdekCavy0MK3tL+vb95MAX7nDQakeYhBk0oVfIyQYhYCtskxSHFy9ZO+Ys8f2MCbPNwl489SnrskXOE0Azxvtsk22C6GmWuRMA4gbO7xoneg/lMlxyiu/mVkoHZ8E1bBQBdYK0G14M/XzU/Xchn6VzPCydW9t7+epVEKgz3dO9qKJk6Gz1P/3ui+s84gWn1jUToaHR23BGjEg9wZln1K/1x5CF6/kUjHhSfq1bAvD5ctsajKvYTaspv65dVh7untNLl5K1WAI7EZ1YFGog=="
}
2
3
4
5
# 响应体
客户必须通过响应体中的code
字段标识通知接收结果:0
:接收成功;非0
:接收失败。
名称 | 类型 | 必填 | 描述 | 备注 |
---|---|---|---|---|
code | String | Y | 结果码 | 0 :接收成功;非0 :接收失败。 |
msg | String | N | 结果码描述 |
响应体示例
{
"code": "0",
"msg": "success"
}
2
3
4
# 结果通知查询与重发
客户可以在商户系统(交易管理 - 通知查询)查询所有结果通知,并支持重发(单条/批量)。
# SDK验签示例
Java SDK
public void rsaVerify() {
String bizContent = "{\"customerId\":\"CSR47184A93E35E4\",\"authId\":\"07c93b59-23b2-4aa0-8cff-55a026b02329\",\"cardLogId\":\"42f4d634e184351e6b035eb58ea4892620ce2eaa5347fcd206646fe24ffae905\",\"cardAvailableBalance\":\"966.68\",\"occurTime\":\"2022-06-23 14:06:36\",\"transCurrency\":\"840\",\"transCurrencyAmt\":\"33.44\",\"localCurrency\":\"840\",\"localCurrencyAmt\":\"33.44\",\"respCode\":\"0000\",\"respCodeDesc\":\"Authorization Approval\",\"approveCode\":\"057685\",\"messageType\":\"6810\",\"messageTypeDesc\":\"Authorization Approval\",\"useRef1Txt\":\"anything\",\"merchantName\":\"\",\"merchantCategoryCode\":\"0011\",\"merchantId\":\"080000100003\",\"merchantCountry\":\"\",\"merchantCity\":\"\",\"merchantPostcode\":\"\",\"acquirerId\":\"213457\",\"state\":\"\"}";
String sign = "tNNvnZBcvb7IR4qkPM9j+5/Hun1qj7MlnmcqeLKAO0Q8R4EB2OYLPTf/q50Rlq/gJf5x93OWSbSg9QqhktgZM0abZIKoAnidzNdGoLdINPSfdhkB/bkrpC8LctqEsLXwU2Kn3LHK3qAgDDJAf5AGmZmzn9SXnO2tvdVMvLbSj8vACpMm12g/zQyUPJ5NlCI7Hf5DXQeQy/Hd0hSyAFuhHO/V++a4TdEDZ3wqh9a1JVs0cy7t63vI0IT6r6l6hjiInoahW7H/zVZ1jcdhxNc1hGJRaM6GvlwsSFH9+gqIYv/DIPxIqTP2Bk6IDc0JaPBx/ClH7mefkunRerzCXFKC+g==";
boolean verified = CipherUtils.rsaVerify(TRIPLINK_PUBLIC_KEY, bizContent, sign);
Assert.assertTrue(verified);
}
2
3
4
5
6
7
8
PHP SDK
public function testRsaVerify(): void {
$bizContent = '{"customerId":"CSR47184A93E35E4","authId":"07c93b59-23b2-4aa0-8cff-55a026b02329","cardLogId":"42f4d634e184351e6b035eb58ea4892620ce2eaa5347fcd206646fe24ffae905","cardAvailableBalance":"966.68","occurTime":"2022-06-23 14:06:36","transCurrency":"840","transCurrencyAmt":"33.44","localCurrency":"840","localCurrencyAmt":"33.44","respCode":"0000","respCodeDesc":"Authorization Approval","approveCode":"057685","messageType":"6810","messageTypeDesc":"Authorization Approval","useRef1Txt":"anything","merchantName":"","merchantCategoryCode":"0011","merchantId":"080000100003","merchantCountry":"","merchantCity":"","merchantPostcode":"","acquirerId":"213457","state":""}';
$sign = 'tNNvnZBcvb7IR4qkPM9j+5/Hun1qj7MlnmcqeLKAO0Q8R4EB2OYLPTf/q50Rlq/gJf5x93OWSbSg9QqhktgZM0abZIKoAnidzNdGoLdINPSfdhkB/bkrpC8LctqEsLXwU2Kn3LHK3qAgDDJAf5AGmZmzn9SXnO2tvdVMvLbSj8vACpMm12g/zQyUPJ5NlCI7Hf5DXQeQy/Hd0hSyAFuhHO/V++a4TdEDZ3wqh9a1JVs0cy7t63vI0IT6r6l6hjiInoahW7H/zVZ1jcdhxNc1hGJRaM6GvlwsSFH9+gqIYv/DIPxIqTP2Bk6IDc0JaPBx/ClH7mefkunRerzCXFKC+g==';
$verified = CipherUtils::rsaVerify(TRIPLINK_PUBLIC_KEY, $bizContent, $sign);
$this->assertTrue($verified);
}
2
3
4
5
6
7
8
TRIPLINK_PUBLIC_KEY
:TripLink RSA公钥。