主题
在线交易结果回调
简述
- 在线交易结果回调通知
回调通知规则
- 商户回调通知 URL 需要配置在商户后台,否则不会发送结果通知,可配置回调结果的事件:
trade.success、trade.fail - 通知回调如果商户没有被正确响应,则平台会多次推送请求,规则如下: 如果商户未响应回调通知,则每隔 5 分钟推送 1 次,总共重试 5 次推送。
回调 URL
- 商户回调地址
推送参数
- 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": "TRD2024120813000125123_1",
"merchantId": "MER16951291",
"callbackBusi": "online_payin",
"callbackEvent": "trade.success",
"code": 10000,
"message": "success",
/* data内所有字段参与加密和签名 */
"data": {
"merchantId": "MER16951291",
"orderId": "ORD250310133358680986978",
"merOrderId": "Greate03035018",
"subMerId": "",
"orderType": "online_payin",
"paymentType": "cardpay",
"paymentCreateTime": "2025-03-10 13:33:58",
"paymentCompleteTime": "2025-03-10 13:35:05",
"orderStatus": "paid",
"orderRespCode": null,
"orderDesc": "",
"amountInfo": {
"orderCurrency": "SAR",
"orderAmt": "100.90",
"paymentCurrency": "SAR",
"exchangeRate": "1.00",
"paymentAmt": "100.90"
},
"paymentInfo": {
"cardIssuer": "MASTER",
"cardNo": "222300xxxxxx0007",
"cardholderName": "zhang0",
"issuerCountry": null,
"phone": ""
}
}
}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": "MER16951291",
"orderId": "ORD250310133358680986978",
"respCode": "success"
}1
2
3
4
5
2
3
4
5
