# 退款能力
# 1、支付退款
# 1.1、场景说明
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。
注意:
在途资金中的所有货款均是与订单关联的,只有当该订单在途资金中剩余金额超过退款金额时,才可以进行在途资金的退款。
当可提现金额也不足退款金额时,会退款失败,为了避免出现订单无法退款的情况出现,请根据业务情况自行保留一部分可提现金额在系统中。
退款的资金判断流程如下:
# 1.2、接口说明
# 1.2.1、基本信息
名称 | 内容 |
HTTP URL | https://open.kuaishou.com/openapi/mp/developer/epay/apply_refund |
HTTP Method | POST |
接口频次 | 30QPS(小程序app_id维度) |
# 1.2.2、请求头
名称 | 字段类型 | 内容 |
Content-Type | String | 固定值: "application/json" |
# 1.2.3、入参
query param参数
字段名 | 类型 | 是否必填 | 是否参与签名 | 说明 |
app_id | string | 是 | 是 | 小程序 AppID |
access_token | string | 是 | 否 | 拥有小程序支付权限的access token,获取方式见getAccessToken |
body json参数
字段名 | 类型 | 是否必填 | 是否参与签名 | 说明 |
out_order_no | string | 是 | 是 | 开发者需要发起退款的支付订单号,商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 示例值:2217752501201407033233368018 |
out_refund_no | string[6,32] | 是 | 是 | 开发者的退款单号 |
reason | string[1,80] | 是 | 是 | 退款理由。1个汉字=2个字符 |
attach | string[0,80] | 否 | 是 | 开发者自定义字段,回调原样回传. 注:1汉字=2字符;勿回传敏感信息 |
notify_url | string[1,256] | 是 | 是 | 通知URL必须为直接可访问的URL,不允许携带查询串。 |
refund_amount | number | 否 | 是 | 用户退款金额,单位为分。不允许传非整数的数值 |
multi_copies_goods_info | string[1, 500] | 否(单商品多份场景必填) | 是 | 单商品购买多份场景,示例值:[{"copies":2}], 内容见multi_copies_goods_info字段说明 |
sign | string | 是 | 否 | 开发者对核心字段签名, 防止传输过程中出现意外,签名方式见附录 |
multi_copies_goods_info字段说明
字段名 | 类型 | 说明 |
copies | number | 退款份数 |
# 1.2.4、请求示例
# Http请求示例
curl --location --request POST 'https://open.kuaishou.com/openapi/mp/developer/epay/apply_refund?app_id=ks707065143182458884&access_token=ChFvYXV0aC5hY2Nlc3NUb2tlbhJABVi9jvzBiHqK8ftAbMG6OsPtSy4V02gKbaX0jv2PEo-mUlhN6dpJLCO7RoI7GbkEbKKh-Vlfq5S0bN-Wgl_jjxoSXmId3s_9TpqnCS4FlyiXkIhhIiC5L9gIWwswVuCQQyTxEtvMRH6zMwpfvAQ3x6F_IrakPygFMAE' \
--header 'Content-Type: application/json' \
--data-raw '{
"notify_url":"https://qa-mp.test.kuaishou.com/zeus/epay/notify",
"attach":"退款demo",
"reason":"测试退款",
"out_order_no":"1700813954820demob",
"out_refund_no":"1700813954820RefundNo",
"refund_amount":"10",
"sign":"af2b2d3160853a76fd31496391ea74aa"
}'
# 响应
返回值为 JSON 形式,其中包括如下字段:
字段名 | 类型 | 说明 |
result | number | 状态码 1-业务处理成功 |
error_msg | string | 错误提示信息,常见错误处理可参考附录常见问题章节 |
refund_no | string | 快手小程序平台的退款单号 |
示例如下(仅供参考):
{
"result":1,
"error_msg":"错误信息提示",
"refund_no": "221072611585202788127"
}
# 错误码
当 result 不为 1 时,说明请求错误。错误码见附录。
退款相关错误码如下
错误码 | 错误信息 | 排查建议 |
10000607 | 退款金额超限 | 发起退款申请时,入参refund_amount大于 实际可退款金额,请确认剩余可退金额。 |
10000627 | 退款调用异常 | 退款调用内部支付中心抛异常,请联系快手小程序客服帮忙排查 |