Skip to content

代付订单回调

简述

  • Payout 结果回调通知

回调通知规则

  1. 商户回调通知 URL 需要配置在商户后台,否则不会发送结果通知,可配置回调结果的事件:payout.successpayout.fail
  2. 响应状态码为 200,代表回调接受成功,平台不会继续发送推送通知
  3. 通知回调如果商户没有被正确响应,则平台会多次推送请求,规则如下: 如果商户未响应回调通知,则每隔 5 分钟推送 1 次,总共重试 5 次推送。

回调 URL

  • 商户回调地址

推送参数

  • body
参数名类型说明
callbackNoString回调序号
merchantIdString商户编码
callbackBusiString回调业务类型 固定值:online_payout
callbackEventString回调事件:payout.success/payout.fail
codeInt响应码
messageString响应码说明
dataObject响应数据
  • data
参数名类型说明
merchantIdString商户编码
orderIdString平台订单号
paymentOrderIdString平台付款流水号,人工付款该字段为空
merOrderIdString商户订单号
subMerIdString二级商户编号
orderTypeString交易类型
paymentTypeString付款方式:
stcpay:STCPay 付款
cardpay:卡付款
orderPaymentTypeString付款订单类型:
standard:标准付款
rapid:快捷付款
orderStatusInt代付订单状态:
0:未付款
2:付款中
10:付款成功
20:付款失败
orderStatusDescString代付订单状态描述
remarksString付款备注
paymentCreateTimeString订单创建时间
paymentCompleteTimeString订单付款完成时间
amountInfoObject金额信息,对象格式(Object:amountInfo)
feeInfoObject费用信息,对象格式(Object:feeInfo)
accountInfoObject付款账户信息,对象格式(Object:accountInfo)
customerInfoObject客户信息,对象格式(Object:customerInfo)
  • Object:amountInfo
参数名类型说明
orderCurrencyString交易币种
orderAmtString付款金额
exchangeRateString换汇汇率
paymentCurrencyString换汇付款币种
paymentOrderAmtString换汇付款金额
paymentAmtString实际付款金额
  • Object:feeInfo
参数名类型说明
feeTypeInt手续费承担方式:
0:客户承担
1:商户承担
feeCurrencyString手续费币种
feeAmtString手续费金额
deductionCurrencyString平台账户扣款币种
deductionAmtString平台账户扣款金额
  • Object:accountInfo
参数名类型说明
typeInt账户类型:
0:未知
1:银行账户
2:STCPay 账户
accountString账户:STCPay 账户或银行卡号
bankCodeString平台银行编码,STCPay 付款时为空
ibanString客户 IBAN,STCPay 付款时为空
swiftCodeString客户银行 Swift Code,STCPay 付款时为空
bankAddressString客户银行地址,STCPay 付款时为空
  • Object:customerInfo
参数名类型说明
merCustomerIdString商户系统中客户 ID
enFirstNameString客户英文名称-前
enMiddleNameString客户英文名称-中
enLastNameString客户英文名称-后
arFirstNameString客户阿拉伯文名称-前
arMiddleNameString客户阿拉伯文名称-中
arLastNameString客户阿拉伯文名称-后
idNumberString客户身份证号
idPhotoString客户身份证照片 URL
signedPhotoString客户签名照片 URL
mobileString客户沙特手机号
emailString客户邮箱地址
addressString客户地址

推送示例

json
{
    "callbackNo": "OUT250923112601207221172_1",
    "merchantId": "MER12345678",
    "callbackBusi": "online_payout",
    "callbackEvent": "payout.success",
    "code": 10000,
    "message": "success",
    "data": {
        "merchantId": "MER12345678",
        "orderId": "OUT250923112601207221172",
        "paymentOrderId": "PYT250923113029303446556",
        "merOrderId": "TEST1234567890",
        "subMerId": "SME30245285",
        "orderType": "online_payout",
        "paymentType": "cardpay",
        "orderPaymentType": "standard",
        "orderStatus": 10,
        "orderStatusDesc": "Payment successful",
        "remarks": "Test Order",
        "paymentCreateTime": "2025-09-23 11:33:08",
        "paymentCompleteTime": "2025-09-23 12:33:08",
        "amountInfo": {
            "orderCurrency": "SAR",
            "orderAmt": "100",
            "exchangeRate": "1",
            "paymentCurrency": "SAR",
            "paymentOrderAmt": "100",
            "paymentAmt": "100"
        },
        "feeInfo": {
            "feeType": 1,
            "feeCurrency": "SAR",
            "feeAmt": "1",
            "deductionCurrency": "SAR",
            "deductionAmt": "101"
        },
        "accountInfo": {
            "type": 1,
            "account": "1234567891",
            "bankCode": "SAU0004",
            "iban": "SA123456789123456789",
            "swiftCode": "INMASARI",
            "bankAddress": "INMA BANK, KSA"
        },
        "customerInfo": {
            "merCustomerId": "12345678",
            "enFirstName": "Mohammed",
            "enMiddleName": "Ali",
            "enLastName": "Khaled",
            "arFirstName": "محمد",
            "arMiddleName": "علي",
            "arLastName": "خالد",
            "idNumber": "1234512345",
            "idPhoto": "https:\/\/xxxx.com\/images\/customer\/20250526\/d1b55874817a4ea1961fc93bb2b793c6.jpg",
            "signedPhoto": "https:\/\/xxxx.com\/images\/customer\/20250808\/d0c3a9907fa540afb9631266bd6714d5.png",
            "mobile": "512345678",
            "email": "demo@example.com",
            "address": "Riyadh, Saudi Arabia"
        }
    }
}