结算及分账结果回调
收藏
我的收藏

将整单分账结果通知给开发者/服务商。

使用限制

接口说明

  1. 回调地址会优先使用开发者在预下单接口传入的notify_url,如果预下单时没有传入,会请求开发者在进件时设置的支付URL,该URL查看步骤如下【开放平台控制台->小程序->能力->支付能力->支付设置】。
  1. 支付回调一定要做验签处理防止收到假通知,回调验签的Token见上图中的Token【开放平台控制台->小程序->能力->支付能力->支付设置】;Token在发生变更时,会以订单在支付时设置的Token为准。
  2. 分账成功或者分账失败都会进行回调通知。
  3. 回调可能存在延时,若实时性要求高,开发者可以通过主动请求分账查询接口,获取分账结果。
  4. 回调接口最多重试 15 次(共 16 次),重试间隔分别为(15s、15s、30s、3min、10min、20min、30min、30min、30min、60min、3h、3h、3h、6h、6h)
  5. 在开发者服务端收到回调且处理成功后,需要按文档中响应示例 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" }

该文档是否有帮助?