主题
接收交易处理状态通知
能力概览
- 交易处理状态通知
通知规则
- 接入方通知 URL 需要配置在接入方后台,否则不会发送结果通知,可配置通知结果的事件:
trade.success、trade.fail - 通知如果接入方没有被正确响应,则平台会多次推送调用,规则如下: 如果接入方未响应通知,则每隔 5 分钟推送 1 次,总共重试 5 次推送。
通知地址
- 接入方通知地址
通知参数
- body
| 字段 | 数据类型 | 业务含义 |
|---|---|---|
| callbackNo | String | 平台生成的本次异步通知流水号 |
| merchantId | String | 接收通知的接入方标识 |
| callbackBusi | String | 通知所属业务类型,固定值为 online_payin |
| callbackEvent | String | 交易结果事件类型,固定值为 trade.success/trade.fail |
| code | Int | 本次通知对应的业务响应码 |
| message | String | 响应码对应的说明文案 |
| data | String | 交易结果明细数据 |
- data
| 字段 | 数据类型 | 业务含义 |
|---|---|---|
| orderId | String | 平台生成的收款交易订单号 |
| merOrderId | String | 接入方提交的收款订单号 |
| subMerId | String | 二级接入方标识 |
| orderType | String | 订单所属交易类型,固定值为 online_payin |
| paymentType | String | 实际使用的支付方式,如:stcpay、cardpay、applepay |
| amountInfo | Object | 收款金额明细对象,结构见 Object:amountInfo |
| paymentInfo | Object | 支付工具信息对象,结构见 Object:paymentInfo |
| paymentCreateTime | String | 交易请求提交到平台的时间,格式:YYYY-MM-DD HH:MM:SS |
| paymentCompleteTime | String | 交易在平台完成处理的时间,格式:YYYY-MM-DD HH:MM:SS |
| orderStatus | String | 收款订单当前处理状态pending:交易中 success:交易成功待结算 paid:支付成功可结算 fail:失败 expired:已过期 |
| orderRespCode | String | 交易失败时返回的业务响应码 |
| orderDesc | String | 交易处理结果说明 |
Object:amountInfo
| 字段 | 数据类型 | 业务含义 |
|---|---|---|
| orderCurrency | String | 接入方提交的收款订单币种 |
| orderAmt | String | 接入方提交的收款订单金额 |
| paymentCurrency | String | 平台实际入账或支付处理币种 |
| exchangeRate | String | 订单币种与实际处理币种之间的换算汇率 |
| paymentAmt | String | 平台实际处理的交易金额 |
Object:paymentInfo
| 字段 | 数据类型 | 业务含义 |
|---|---|---|
| cardIssuer | String | 卡片所属卡组织或发卡网络 |
| cardNo | String | 脱敏后的银行卡号,如:6225****1234 |
| cardholderName | String | 脱敏后的持卡人姓名,如:zhang **** alfa |
| issuerCountry | String | 发卡行所在国家代码,如:SAU、CHN |
| phone | String | 脱敏后的支付用户手机号,如:50****123 |
推送示例
json
{
"callbackNo": "TRD20260509104532001876_1",
"merchantId": "MER20460873",
"callbackBusi": "online_payin",
"callbackEvent": "trade.success",
"code": 10000,
"message": "success",
/* data内所有字段参与加密和签名 */
"data": {
"merchantId": "MER20460873",
"orderId": "TRD20260509104532001876",
"merOrderId": "PAYIN202605090001",
"subMerId": "SME70451236",
"orderType": "online_payin",
"paymentType": "cardpay",
"paymentCreateTime": "2026-05-09 10:45:32",
"paymentCompleteTime": "2026-05-09 10:47:18",
"orderStatus": "paid",
"orderRespCode": null,
"orderDesc": "",
"amountInfo": {
"orderCurrency": "SAR",
"orderAmt": "186.40",
"paymentCurrency": "SAR",
"exchangeRate": "1.00",
"paymentAmt": "186.40"
},
"paymentInfo": {
"cardIssuer": "VISA",
"cardNo": "411111xxxxxx2222",
"cardholderName": "Noura A****",
"issuerCountry": "SAU",
"phone": "055****567"
}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
响应参数
- body
| 字段 | 数据类型 | 业务含义 |
|---|---|---|
| merchantId | String | 接入方返回确认的商户标识 |
| orderId | String | 接入方确认已接收的平台开户交易订单号 |
| respCode | String | 通知接收结果,成功时返回 success |
响应示例
json
{
"merchantId": "MER20460873",
"orderId": "TRD20260509104532001876",
"respCode": "success"
}1
2
3
4
5
2
3
4
5
