抖音开放平台Logo
开发者文档
控制台
  • 接入前准备
  • 通用能力
  • 门店管理
  • 团购核销
  • 团购对账
  • 会员接入
  • 订单查询
  • 三方码
  • 预下单
  • 发券
  • 发券回调
  • 退款
  • 审核回调
  • 信息同步
  • 商品发布
  • 代运营
  • 团购退款
  • 商品查询
  • 餐饮
  • 大交通
  • 酒旅
  • 综合
  • 历史版本文档(不推荐)
  • 退款
    收藏
    我的收藏

    抖音侧向服务商发起退款的申请。​

    使用限制

    1、需要支持单券维度退款​
    2、若抖音侧请求的 orderId 在服务商查询不到对应的订单,且 code 为空时,返回【待审核】(这种场景一般为下单时服务商没有正确处理,需自行排查)​
    3、同券码的多次退款请求,服务商需保证返回结果幂等​
    4、若退款申请时报错,抖音侧会每小时重试​

    接口 SLA

      1.服务商服务SLA请保证在99.9%以上​
      2.接口响应延时不能超过8s,超过8s则当作未响应​
      3.由于存在过期退场景,因此服务商需要确保能承受100~400QPS(根据自身用户量来定)​

    接口说明

    1、抖音侧向服务商发起退款申请,可多个券码批量退款(不会跨订单),同步返回审核结果时不支持同一个退款请求中通过一部分拒绝一部分,如果要实现部分通过部分拒绝请返回【待审核】并后续调用「审核回调」接口通知抖音侧审核结果。重要: 务必做到券维度的退款申请幂等​
    2、接口请求成功(正常处理退款请求,并返回退款结果)时务必确保 error_code=0,退款的结果通过 data.result 字段标识, 如果不按照该规范返回, 统一会认为是待确认,等待服务商后续调「审核回调」接口​
    3、请求 body 中有 code 为空的券,表示该券没有发码成功。若该券需要拒绝退款(例如:已经在服务商侧已经发码、核销等),接口返回中需要回传对应的 code,否则认为拒绝退款失败,等待服务商调「审核回调」同步结果。​
    4、服务商返回响应的 result 标识退款的结果:​
    (1)待确认,后续需要调「审核回调」接口告知抖音侧退款结果​
    (2)允许,表示同意本次退款申请,允许所有券退款 (后面不再需要调「审核回调」)​
    (3)拒绝,表示拒绝本次退款申请 (后面不再需要调「审核回调」)​
    5、对于上述所有需要调「审核回调」接口的场景,请务必24 小时内完成回调,若超时未回调将自动通过退款申请,并完成退款流程​

    基本信息

    HTTP URL
    地址由服务商提供
    HTTP Method
    POST
    申请权限
    三方码发布
    权限要求
      需要申请权限 ,路径:抖音开放平台-开发者平台/服务商平台>控制台>应用详情>解决方案​
      需要url配置,路径:联见下方“服务商/商家侧 SPI 接口配置”​
      需要商家授权,路径:抖音来客>店铺管理>服务应用授权​

    服务商/商家侧 SPI 接口配置

    配置路径:开放平台-服务商平台/开发者平台-控制台-应用详情页-开发设置-SPI 回调​
    需配置接口:​
    接口
    回调场景(配置SPI回调地址时可见)
    需提供信息
    是否必填
    预下单​
    抖音请求三方系统预下单​
    回调地址:预下单URL​
    必填​
    发券​
    抖音请求三方系统发码​
    回调地址:发券URL​
    必填​
    退款​
    抖音请求三方系统退款审核​
    回调地址:退款URL​
    必填​
    信息同步​
    抖音向三方系统同步退款信息​
    回调地址:信息同步URL​
    必填​

    签名规则

    签名规则参考查看 这个地址 的说明​

    请求参数

    Body 请求

    参数名称
    参数类型
    参数描述
    必需
    order_id
    string
    抖音侧的订单号
    after_sale_id​
    string​
    抖音侧售后单号​
    多张券属于同一售后单才会返回​
    否​
    certificates
    list(object)
    申请退款的券码列表
    .certificate_id
    string
    代表一张券码的标识
    .code
    string
    三方码(若发码失败则为空)
    .total_count
    int64
    次卡商品总次数(仅次卡商品有)
    .verify_count
    int64
    次卡商品已核销次数(仅次卡商品有)
    .refund_count​
    int64​
    次卡商品退款次数(仅次卡商品有)​
    否​
    .origin_amount​
    int64​
    应退金额,应退金额=实退金额+退款违约补偿金额(仅次卡商品有)​
    .refund_amount​
    int64​
    实退金额(仅次卡商品有)​
    .deduct_fee_amount​
    int64​
    退款违约补偿金额(仅次卡商品有)​
    否​
    .sub_item_list​
    list(object)​
    次卡商品次数信息列表(仅次卡商品有)(仅次卡商品有)​
    否​
    ..sub_item_id​
    string​
    次卡退款次序号(仅次卡商品有)​
    否​
    ..origin_amount​
    int64​
    应退金额,应退金额=实退金额+退款违约补偿金额(仅次卡商品有)​
    否​
    ..refund_amount​
    int64​
    实退金额,次序号实退金额=次序号用户实退金额 + 次序号营销实退金额(仅次卡商品有)​
    否​
    ..marketing_amount​
    int64​
    营销实退金额(仅次卡商品有)​
    否​
    ..user_amount​
    int64​
    用户实退金额(含支付优惠退款)(仅次卡商品有)​
    否​
    ..deduct_fee_amount​
    int64​
    退款违约补偿金额(仅次卡商品有)​
    否​

    请求示例

    { "order_id": "12345678", "after_sale_id": "123456", "certificates": [ { "certificate_id": "987654321", "code": "abcd1234" }, { "certificate_id": "123456789", "code": "abcd5678" } ] }

    响应参数

    字段类型
    字段描述
    data
    object
    .error_code
    int64
    接口错误码
    .description
    string
    接口错误描述
    .result
    int
    退款审核结果. 0:待确认,1:允许,2:拒绝
    .reason
    string
    拒绝原因,若结果为拒绝时必填
    .codes
    list(string)
    若拒绝退款 并且 请求的body中有code字段为空的券,则必填
    1)填写后,平台将对订单执行补发码;​
    2)次卡场景,购买多数量时,每份次卡的code不能重复​
    .vouchers​
    list(string)​
    补码凭证信息 json​
    .certificate​
    list​
    result=2,需指定券补码时必须返回,根据请求certificate返回所有对应的凭证code​
    ..certificate_id​
    string​
    抖音内部券ID​
    ..code​
    string​
    服务商侧券码​

    响应示例

    单张券正常示例

    { "data": { "error_code": 0, "description": "success", "result": 2, "codes": ["abcd1234"] } }

    多张券正常示例​

    { "data": { "error_code": 0, "description": "success", "result": 2, "codes": "", "certificate": [ { "certificate_id": "12323", "code": "xxxx" }, { "certificate_id": "45645", "code": "yyyy" } ] } }