结算及分账结果回调收藏我的收藏
将整单分账结果通知给开发者/服务商。
使用限制
无
接口说明
- 回调地址会优先使用开发者在预下单接口传入的notify_url,如果预下单时没有传入,会请求开发者在进件时设置的支付URL,该URL查看步骤如下【开放平台控制台->小程序->能力->支付能力->支付设置】。
- 支付回调一定要做验签处理,防止收到假通知,回调验签的Token见上图中的Token【开放平台控制台->小程序->能力->支付能力->支付设置】;Token在发生变更时,会以订单在支付时设置的Token为准。
- 分账成功或者分账失败都会进行回调通知。
- 回调可能存在延时,若实时性要求高,开发者可以通过主动请求分账查询接口,获取分账结果。
- 回调接口最多重试 15 次(共 16 次),重试间隔分别为(15s、15s、30s、3min、10min、20min、30min、30min、30min、60min、3h、3h、3h、6h、6h)
- 在开发者服务端收到回调且处理成功后,需要按文档中响应示例 json格式返回表示处理成功,否则小程序服务端会认为通知失败进行重试。
回调参数
名称 | 类型 | 是否 必填 | 最大 长度 | 描述 | 示例值 |
---|---|---|---|---|---|
timestamp | string | 是 | 12 | Unix 时间戳,字符串类型 | 1644399124 |
nonce | string | 是 | 4 | 随机数 | 797 |
msg | string | 是 | - | 订单信息的 json 字符串 | {"app_id":"tt07e3715e98c9aac0","cp_settle_no":"out_settle_no_1","cp_extra":"2856","status":"SUCCESS","rake":95,"commission":0,"settle_detail":"商户号6891537072713100000-分成金额(分)100","settled_at":0,"message":"","order_id":"6892779245089720000"} |
type | string | 是 | 32 | 回调类型标记,分账结果回调为"settle" | settle |
msg_signature | string | 是 | 128 | 签名,详见签名DEMO | 52fff5f7a4bf4a921c2daf83c75cf0e716432c73 |
msg 参数
回调参数中的 msg 字段,为以下内容序列化得到的 json 字符串
名称 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
appid | string | 是 | 64 | 小程序ID | tt07e3715e98c9aac0 |
cp_settle_no | string | 是 | 64 | 开发者自定义的分账单号 | out_settle_no_1 |
cp_extra | string | 是 | 2048 | 开发者发起分账传入的额外参数,回调时回传 | 2856 |
status | string | 是 | - | 分账状态枚举值: SUCCESS:成功 FAIL:失败 | FAIL |
rake | number | 是 | [1,99999999999] | 技术服务费金额 + 商户与平台约定的抽佣金额,单位为分 | 95 |
commission | number | 是 | [1,99999999999] | 达人抽佣金额,单位为分 | 0 |
settle_detail | string | 是 | 1024 | 分账明细描述 | 商户号6891537072713100000-分成金额(分)100 |
settled_at | number | 是 | 10 | 分账成 功时间戳,否则为0 | 1645513202 |
message | string | 是 | 128 | 分账结果描述 | 原支付单未支付成功并核销,禁止分账 |
order_id | string | 是 | 64 | 分账对应原支付单单号 | N6892779245089720000 |
channel_settle_id | string | 否 | 128 | 渠道结算单号 | 3000200485202210070000001 |
settle_amount | number | 是 | [1,99999999999] | 参与分账总金额 | 1000 |
settle_no | string | 是 | 64 | 分账对应平台单号 | N715178414448000001 |
out_order_no | string | 是 | 64 | 分账对应原支付单外部单号 | ot_order_no_2022092900001 |
is_auto_settle | bool | 是 | - | 是否自动结算 | false |
回调示例
{ "timestamp": "1602507471", "nonce": "797", "msg": { "app_id": "tt07e3715e98c9aac0", "cp_settle_no": "out_settle_no_1", "cp_extra": "2856", "status": "FAIL", "rake": 6, "commission": 0, "settle_detail": "商户号6891537072713100000-分成金额(分)100", "settled_at": 0, "message": "原支付单未支付成功并核销,禁止分账", "order_id": "N6892779245089720000", "channel_settle_id": "3000200485202210070000001", "settle_amount": 1000, "settle_no": "N715178414448000001", "out_order_no": "ot_order_no_2022092900001", "is_auto_settle": false }, "type": "settle", "msg_signature": "52fff5f7a4bf4a921c2daf83c75cf0e716432c73" }
响应示例
正常示例
{ "err_no": 0, "err_tips": "success" }
异常示例
{ "err_no": 400, "err_tips": "business fail" }