支付结果通知
收藏
我的收藏订单支付成功/取消时,抖音开平交易系统会给向开发者的服务发起请求,将支付结果通知到开发者服务端。
使用限制
无
接口说明
- •由于网络波动等原因,可能会产生重复的通知消息,接入方需要做好幂等,正确处理。
- •回调可能存在延时,开发者可以通过主动请求查询订单信息,确认支付结果。
- •在开发者服务端收到回调且处理成功后,需要按以下正常返回示例返回并且 HTTP 响应 状态码设为 200,否则会认为通知失败进行重试。
基本信息
基本信息 | ||||
HTTP URL | ||||
HTTP Method | POST |
请求头
请求参数
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
msg | string | 是 | 订单相关信息的 json 字符串 | 见请求示例 |
type | string | 是 | 枚举值(支付结果回调为 payment):
| payment |
version | string | 是 | 固定值:"2.0"。 回调版本,用于开发者识别回调参数的变更 | 2.0 |
msg 字段
字段名 | 类型 | 是否必填 | 描述 | 示例值 |
app_id | string | 是 | 小程序 app_id | ttcfdbb96650e33350 |
status | string | 是 | 支付结果状态,目前有两种状态:
| SUCCESS |
out_order_no | string | 是 | 开发者系统生成的订单号,与抖音开平交易单号 order_id 唯一关联,长度 <= 64byte | ext_order_no_164318867591 |
order_id | string | 是 | 抖音开平侧订单id,长度 <= 64byte | ot7057416814925531429 |
total_amount | int64 | 是 | 订单总金额,单位分 支付金额为 = total_amount - discount_amount | 9900 |
discount_amount | int64 | 否 | 订单优惠金额,单位分,接入营销时请关注这个字段 | 1100 |
pay_channel | int32 | 否 | 支付渠道枚举(支付成功时才有):
| 1 |
channel_pay_id | string | 否 | 5304340298302398023 | |
cp_extra | string | 是 | 预下单时开发者传入的透传字段(如果开发者未传,此字段为空),长度 <= 2048 byte | whatever |
item_id | string | 否 | 122211121 | |
seller_uid | string | 否 | 1222223333 | |
event_time | int64 | 是 | 用户支付成功/支付取消时间戳,单位为毫秒 | 1643189272388 |
message | string | 否 | 该笔交易取消原因,如:
| USER_CANCEL |
delivery_type | int | 否 | 抖音码/三方码类型:
| 1 |
请求示例
curl --location --request POST 'https://xxxxxxx.net/api/v2/result_callback?timestamp=1345678901234&nonce=iuy987q4htafreqw' \ --header 'Content-Type: application/json' \ --data-raw='{ "version": "2.0", //本次固定为2.0, 通过版本信息识别,用不同的结构体去解析上述关键参数 "msg": "{\"app_id\":\"tt07e371xxxxxxx\",\"status\":\"SUCCESS\",\"order_id\":\"ot7057422956397414686\",\"cp_extra\":\"xxx\",\"item_id\":\"xxxxx\",\"seller_uid\":\"xxxxxx\",\"pay_channel\":1,\"message\":\"\",\"extra\":\"{\\\"cps_info\\\":\\\"poi\\\",\\\"share_amount\\\":\\\"299\\\"}\",\"event_time\":1643185090000,\"out_order_no\":\"ext_order_no_1643185079529\",\"total_amount\":1}", "type": "payment" }'
msg 字段内容示例
//支付成功回调示例 { "app_id": "tt07e371xxxxxxx", "status": "SUCCESS", "order_id": "ot7057422956397414686", "cp_extra": "xxx", "item_id":"xxxxx", "seller_uid":"xxxxxx", "pay_channel": 1, "message": "", "extra": "", "event_time": 1643185090000, "out_order_no": "ext_order_no_1643185079529", "total_amount": 1, "discount_amount":0, "delivery_type":1 } //支付取消回调示例 { "app_id": "tt07e371xxxxxxx", "status": "CANCEL", "order_id": "ot7057422956397414686", "cp_extra": "xxx", "message": "TIME_OUT", "event_time": 1643185090000, "out_order_no": "ext_order_no_1643185079529", "total_amount": 1, "discount_amount":0, "delivery_type":0 }
响应参数
参数名称 | 类型 | 描述 | 示例值 |
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 }