申请退款API
业务功能
商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
一、退款方式
目前只支持原路返回退款。
说明:
· 退到银行卡则是非实时的,每个银行的处理速度不同,一般发起退款后1-3个工作日内到账。
· 同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no。
· 总退款金额不能超过用户实际支付金额(现金券金额不能退款)
· 部分退款次数最多不能超过15次。
交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
测试url:
http://47.95.131.62:8080/api/v1/pay/wx/refund
请求参数(O-非必传 ,M-必传):
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
out_refund_no | 服务商退款订单号 | String | 服务商退款订单号(同一服务商下唯一) | 161018121614000624679888 | M |
refund_amount | 退款金额 | String | 退款金额,以元为单位 | 100 | M |
trade_no | 交易订单号 | String | SaaS平台的交易订单编号 | trade_no、out_trade_no、channel_trade_no必传其中一个,都传则以trade_no为准,推荐使用trade_no | O |
out_trade_no | 原服务商交易订单号 | String | 原服务商交易订单号(v1.24增加) | O | |
channel_trade_no | 凭证条码订单号 | String | 付款凭证条码订单号(v1.28增加) | 161018121614000624679888 | O |
notify_url | 通知地址(v1.02) | String | 退款成功后的通知地址 | http://test.mdun.cn/jd/pay/notice | O |
sn | 厂商终端号 | String | (v1.05增加) | O | |
pn | SAAS终端号 | String | 标准服务商必填(v1.27增加) | O | |
remark | 交易备注 | String | (v1.05增加) | O |
请求示例:
{
"accessid": "cpostest",
"out_refund_no": "20200324183825597",
"refund_amount": "0.01",
"trade_no": "WX200324183016848803338198",
"sn": "WSY196",
"pn": "S0000053",
"sign": "86C8811EB31615DAC6ED71033E3AD17D"
}
返回参数:
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
refund_no | 退款订单号 | String | SaaS平台的退款订单编号 | M | |
channel_trade_no | 凭证条码订单号 | String | 凭证条码订单号(v1.24增加) | 161018121614000624679888 | M |
refund_status | 退款状态 | String | 退款结果:
1:成功(退款申请接收成功,退款的到账时间以实际为准); 2:失败(退款申请失败,错误原因参考status_msg); 3:结果未知(退款申请处理结果未知,请调用退款查询接口获取退款结果状态) |
M | |
error_code | 错误码 | String | O | ||
error_msg | 错误消息 | String | O | ||
total_amount | 原消费交易总金额 | String | 原消费交易总金额(v1.30增加) | M | |
refunded_amount | 已退款金额 | String | 已退款金额(v1.30增加) | M | |
remanent_amount | 剩余可退款金额 | String | 剩余可退款金额(v1.30增加) | M | |
attach | 微信原生参数 | JSON | O |
微信原生参数:attach
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
result_code | 业务结果 | String | SUCCESS/FAIL | SUCCESS | M |
err_code | 错误代码 | String | SYSTEMERROR | O | |
err_code_des | 错误代码描述 | String | 错误返回的信息描述 | 系统错误 | O |
sub_appid | 子商户公众账号id | String | 调用接口提交的子商户公众账号ID | wx8888888888888888 | O |
sub_mch_id | 子商户号 | String | 调用接口提交的子商户号 | 1900000109 | M |
nonce_str | 随机字符串 | String | 网联返回的随机字符串 | M | |
sign | 签名 | String | 网联返回的签名 | M | |
out_refund_no | 商户退款单号 | String | 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母同一退款单号多次请求只退一笔 | M | |
refund_id | 微信退款单号 | String | M | ||
refund_fee | 退款金额 | String | 退款总金额,单位为分,可以做部分退款 | M | |
refund_fee_type | 退款货币种类 | String | CNY | M | |
cash_refund_fee | 现金退款金额 | String | 现金退款金额,单位为分,只能为整数 | M | |
coupon_refund_fee | 代金券退款总金额 | String | O | ||
refund_detail | 优惠退款详情 | JSONArray | [{“amount”:100,”promotion_id”:”21796722069”,”type”:”COUPON”,”scope”:”GLOBAL”,”refund_amount”:100}] | O |
优惠退款详情:refund_detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
promotion_id | 券ID | String | 券或者立减优惠id | 109519 | M |
scope | 优惠范围 | String | GLOBAL-全场代金券 SINGLE-单品优惠 |
SINGLE | O |
type | 优惠类型 | String | COUPON-代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致) DISCOUNT-优惠券,不走结算资金的免充 值型优惠券,(境外商户券币种与标价币种一致) |
DISCOUNT | O |
amount | 优惠券面额 | String | 用户享受优惠的金额 | 5 | O |
返回示例:
{
"refund_no": "WX190506165352286000440521",
"refund_status": 1,
"return_code": 10000,
"sign": "D543561A0DD8CD28DB860C787AEDA343"
}
文档更新时间: 2025-02-11 10:35 作者:admin