Skip to content
赞助

抖音退款 ​

方法名参数返回值
refundarray $orderCollection

创建退款 ​

php
Pay::config($config);

$order = [
    'order_id' => 'xxxx',
    'out_refund_no' => '202408040747147327R',
    'refund_reason' => [
        '测试退款',
    ],
    // 'notify_url' => 'https://yansongda.cn/douyin/refund/notify', // 选填,默认取配置中的 notify_url
];

$result = Pay::douyin()->refund($order);

订单配置参数 ​

order_id(抖音侧订单号)+ out_refund_no(商户侧退款单号,全局唯一)+ refund_reason[](退款理由,数组)必填;notify_url 选填(不传则取配置中的 notify_url,配置中也为空则平台使用下单时传入的地址)。

其余参数和官方无任何差别,兼容所有功能,所有参数请参考以下 API 查看「请求参数」一栏。

退款审核 ​

退款审核(_action 为 audit)请参考 退款审核。

响应退款申请回调 ​

用户从交易模板组件发起退款后,平台会向开发者服务端发送 type=pre_create_refund 的退款申请回调,由统一的 callback() 入口处理(验签 + 解析 msg),同步应答体由业务方自行构造并返回(详见 接收回调)。

注意

若不响应(未按下方格式应答),平台会一直重试并导致用户退款卡单,请务必实现同步应答。

结合 callback() 返回的 Collection(含 refund_id/out_refund_no/need_refund_audit/refund_audit_deadline 等,其中 out_refund_no 仅在该退款单已存在时非空),业务方自行生成商户侧退款单号并按下述格式应答:

php
// $result = Pay::douyin()->callback($request);
// $result 中包含 refund_id、order_id、need_refund_audit、refund_audit_deadline 等退款申请信息

return response()->json([
    'err_no' => 0,
    'err_tips' => 'success',
    'data' => [
        'out_refund_no' => '202408040747147327R', // 业务方自行生成的商户侧退款单号
        'order_entry_schema' => $result->get('order_entry_schema'),
    ],
]);

对应的应答 JSON 结构如下(各字段含义请参考退款申请回调官方文档):

json
{
    "err_no": 0,
    "err_tips": "success",
    "data": {
        "out_refund_no": "202408040747147327R",
        "order_entry_schema": {
            "path": "pages/refund/detail",
            "params": "{\"out_refund_no\":\"202408040747147327R\"}"
        }
    }
}

Released under the MIT License.