• OpenAPI 简介
  • 小程序 OpenAPI SDK 总览
  • 签名算法
  • 基础能力
  • 触达与营销
  • 支付
  • 交易系统
  • 担保支付(即将下线)
  • 评价
  • 抖店绑定
  • 交易工具
  • 信用免押
  • 周期代扣
  • 通用参数
  • 签约授权
  • 代扣
  • 发起代扣
  • 代扣结果查询
  • 代扣结果通知
  • 发起预扣费通知
  • 退款
  • 结算
  • 运营
  • 生活服务
  • 垂直行业
  • 其它
  • 代扣结果通知

    收藏
    我的收藏
    代扣单扣款成功或超时后,系统会给向开发者的服务发起请求,将扣款结果通知到开发者服务端。

    使用限制

    接入接口前请先查看接入前准备是否完成 。

    接口说明

      由于网络波动等原因,可能会产生重复的通知消息,接入方需要做好幂等,正确处理。
      回调可能存在延时,开发者可以通过主动请求查询订单信息,确认支付结果。
      在开发者服务端收到回调且处理成功后,需要按以下正常返回示例返回并且 HTTP 响应状态码设为 200,否则会认为通知失败进行重试。
      发起代扣 有 notify_url 字段,如果在下单传了该字段,则会优先使用 发起代扣 的 notify_url 回调地址,否则使用解决方案配置的回调地址。
      注意: 无论是否使用 notify_url 都需要配置解决方案的扣款结果通知回调地址,否则即使下单传入 notify_url 也不会生效。

    基本信息

    基本信息
    HTTP URL
    在解决方案配置-消息通知中指定的回调地址,配置方式参考解决方案配置文档
    HTTP Method
    POST

    请求头

    请求参数

    Body

    参数名称
    类型
    是否必填
    描述
    示例值
    msg
    string
    回调相关信息的 json 字符串,详情参见msg字段
    见请求示例
    type
    string
    回调类型:
      sign_pay_callback 代扣结果回调
    "sign_pay_callback"
    version
    string
    固定值:"1.0"。回调版本,用于开发者识别回调参数的变更
    "1.0"

    msg 字段

    字段名
    类型
    是否必填
    描述
    示例值
    app_id
    string
    小程序 app_id
    "tt312312313123"
    status
    string
    扣款结果状态,状态枚举:
      "SUCCESS" (扣款成功)
      "TIMEOUT" (超时未支付 |超时未扣款成功)
      "FAIL" (扣款失败,原因基本都是用户无支付方式(解绑了付款卡)或用户的扣款卡余额不足,建议失败后不要立即重试,隔日再进行重试,若一个月内连续多次扣款均不成功,考虑和用户进行解约)
    "SUCCESS"
    auth_order_id
    string
    平台侧签约单的单号,长度<=64byte
    "ad7123123123123"
    pay_order_id
    string
    平台侧代扣单的单号,长度<=64byte
    "ad712312662434"
    out_pay_order_no
    string
    开发者侧代扣单的单号,长度<=64byte
    "out_pay_order_no_1"
    total_amount
    int64
    扣款金额,单位[分]
    100
    pay_channel
    int32
    支付渠道枚举(扣款成功时才有):
      10:抖音支付
    10
    channel_pay_id
    string
    渠道支付单
    "TPeqw123123213"
    merchant_uid
    string
    该笔交易卖家商户号
    "713123123132"
    event_time
    int64
    用户支付成功/支付取消时间戳,单位为毫秒
    1698128528000
    user_bill_pay_id
    string
    用户抖音交易单号(账单号),和用户抖音钱包-账单中所展示的交易单号相同
    "2001022411190100375919192312"

    请求示例

    curl --location --request POST 'https://xxxxxxx.net/api/v2/result_callback?timestamp=1345678901234&nonce=iuy987q4htafreqw' \ --header 'Content-Type: application/json' \ --data-raw='{ "version": "1.0", //本次固定为1.0, 通过版本信息识别,用不同的结构体去解析上述关键参数 "msg": "{\"app_id\":\"tt312312313123\",\"status\":\"SUCCESS\",\"auth_order_id\":\"ad7123123123123\",\"pay_order_id\":\"ad712312662434\",\"out_pay_order_no\":\"out_pay_order_no_1\",\"total_amount\":100,\"pay_channel\":10,\"channel_pay_id\":\"TPeqw123123213\",\"merchant_uid\":\"713123123132\",\"event_time\":1698128528000}", "type": "auth_pay_callback" }'
    msg 字段内容示例:
    //扣款成功回调示例 { "app_id": "tt312312313123", "status": "SUCCESS", "auth_order_id": "ad7123123123123", "pay_order_id": "ad712312662434", "out_pay_order_no": "out_pay_order_no_1", "total_amount": 100, "pay_channel": 10, "channel_pay_id": "TPeqw123123213", "merchant_uid": "713123123132", "event_time": 1698128528000, "user_bill_pay_id": "2001022411190100375919192312" } //超时未支付 | 超时未扣款成功 { "app_id": "tt312312313123", "status": "TIME_OUT", "auth_order_id": "ad7123123123123", "pay_order_id": "ad712312662434", "out_pay_order_no": "out_pay_order_no_1", "total_amount": 100, "merchant_uid": "713123123132", "event_time": 1698128528000 } //扣款失败 { "app_id": "tt312312313123", "status": "FAIL", "auth_order_id": "ad7123123123123", "pay_order_id": "ad712312662434", "out_pay_order_no": "out_pay_order_no_1", "total_amount": 100, "merchant_uid": "713123123132", "event_time": 1698128528000, "user_bill_pay_id": "2001022411190100375919192312" }

    响应参数

    参数名称
    类型
    描述
    示例值
    err_no
    int64
    错误码
    0
    err_tips
    string
    错误提示
    success

    响应示例

    正常示例

    //正常返回响应且http状态码为200 //注意: //正常返回时一定要保证err_no和err_tips为下面标准返回方式,不然都认为失败,将会重试 { "err_no": 0, "err_tips": "success" }

    异常示例

    //异常响应或http状态码为非200, //抖音服务端会不断重试 { "err_no": 1, //非0 "err_tips": "system error" //非success }

    错误码

    HTTP 状态码
    错误码
    描述
    排查建议
    开发者自定义:成功返回200
    成功返回0
    SUCCESS
    响应成功,无需处理
    开发者自定义:不成功返回200或其他状态码
    不成功返回非0
    开发者自定义
    抖音服务端会不断重试,但开发者需要自己排查响应失败原因