退款审核回调
接口说明
1、审核结果为拒绝时必须要告知抖音拒绝原因,若没有原因将会返回报错,拦截本次审核结果
2、「退款」接口中抖音的请求中 certificate_id 对应 code 为空,且最终服务商侧的审核结果为拒绝,必须在回调抖音时将 code 补上,否则将返回报错,拦截本次审核结果(具体参数见下方请求参数)
3、返回结果中 error_code 为 0 代表通知成功;其他值可当作通知失败,需做重试
4、若服务商未能在收到「退款」请求后 24 小时内成功告知抖音审核结果,那么本次请求将会被自动审核通过,完成后续的退款流程
指标 | 数值 |
可承载最大qps | 1000 |
响应耗时pct99 | 350ms |
服务目标可用性 | 99.95% |
基本信息
名称 | 描述 |
---|---|
HTTP URL | https://open.douyin.com/goodlife/v1/fulfilment/refund/audit/ |
HTTP Method | POST |
Scope | life.capacity.tripartite.code |
权限要求 | 三方码发布 |
请求参数
请求头
access-token必填String
示例:clt.943da17996fb5cebfbc70c044c3fc25a57T54DcjT6HNKGqnUdxzy1KcxFnZ
content-type必填String
固定值"application/json"
client_InfoString
Body展开全部子属性
result必填Enum
退款审核结果. 1:允许,2:拒绝
展开子属性
after_sale_idString
抖音内部退款单 id
通过退款申请接口获取
certificateList
抖音内部券码信息 list(适用于发码失败,退款审核拒绝场景,批量补码)
优先级高于外层code、voucher字段, 建议优先使用该字段
展开子属性
certificate_idString
代表一张券码的标识(发起退款申请时给出)
通过退款申请接口获取
codeString
审核拒绝 并且发码失败情况下 需要返回对应code
- 填写后,平台将对订单执行补发码;
- 次卡场景,购买多数量时,每份次卡的code不能重复
reasonString
退款审核拒绝时,拒绝原因必填
voucherString
示例:[{ "qrcode_list":["ev90zX5WcO"], "certificate_no_list":["lSdRiHcozV"], "verify_time":3156032930483136435, "project_id":"fpjMQ1LIo5", "id_card_list":["FhwbrkJwbW"]}]
补码凭证信息 json(仅景区场景使用),可参考发券接口的voucher字段
请求示例
curl --location --request POST 'https://open.douyin.com/goodlife/v1/fulfilment/refund/audit/' \ --header 'access-token: 0801121846735352506a356a6' \ --header 'client_Info: 4IZ43FGTbl' \ --header 'content-type: application/json' \ --data '{"certificate":[{"certificate_id":"HLvGhklb83","code":"w4lAfGpbjT","voucher":"[{ "qrcode_list":["ev90zX5WcO"], "certificate_no_list":["lSdRiHcozV"], "verify_time":3156032930483136435, "project_id":"fpjMQ1LIo5", "id_card_list":["FhwbrkJwbW"]}]","patch_info":{"patch_type":4386092888153551560,"content":"rXS5Vjk1TF"}}],"certificate_id":"mw5p0TEfLr","result":1,"reason":"订单不存在","code":"cqTJftDL1b","voucher":"[{ "qrcode_list":["ev90zX5WcO"], "certificate_no_list":["lSdRiHcozV"], "verify_time":3156032930483136435, "project_id":"fpjMQ1LIo5", "id_card_list":["FhwbrkJwbW"]}]","after_sale_id":"qTSb7WISpD"}'
响应参数
Body展开全部子属性
data必填Struct
展开子属性
extraStruct
展开子属性
响应示例
正常响应示例异常响应示例
{ "extra": { "error_code": 0, "description": "", "sub_error_code": 0, "sub_description": "", "logid": "2024120401002413ED90D480C60A37F022", "now": 1733245224 }, "data": { "error_code": 0, "description": "" } }
错误码
HTTP 状态码 | 错误码 | 错误码描述 | 排查建议 |
---|---|---|---|
200 | 2100001 | 未知错误 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
200 | 2100004 | 系统繁忙,此时请开发者稍候再试 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
200 | 2100005 | 参数不合法 | 更换参数 |
200 | 2119001 | 参数不合法 | 更换参数 |
200 | 2119002 | 系统繁忙,请稍候再试 | 重试 |
200 | 2119003 | 请求太过频繁,请稍后再试 | 重试 |
200 | 2119005 | 应用未获商家授权 | 联系合作商家在商家后台发起授权,并在服务商后台同意授权 |
200 | 2190002 | access_token无效 | 调用接口重新生成access_token |
200 | 2190004 | 应用未获得该能力, 请去https://open.douyin.com/申请 | 应用申请接口权限 |
200 | 2190008 | access_token过期,请刷新或重新授权 | 规范token刷新机制,检查是否有测试环境在同步刷新token |
200 | 3000001 | 根据实际业务错误返回 | 对照接口文档规范参数并重试 |
200 | 5000001 | 根据实际业务错误返回 | 联系抖音处理 |
200 | 5000001 | 服务器打瞌睡了,请稍后再试。 | |
200 | 3000001 | 以实际错误信息为准 |