申请退款API
业务功能
商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
一、退款方式
目前只支持原路返回退款。
说明:
· 退到银行卡则是非实时的,每个银行的处理速度不同,一般发起退款后1-3个工作日内到账。
· 同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。
· 总退款金额不能超过用户实际支付金额(现金券金额不能退款)
· 使用免充值优惠的订单仅支持全额退款,不支持部分退款
· 部分退款次数最多不能超过15次。
请求参数(O-非必传 ,M-必传):
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
biz_type |
业务类型 |
String |
refund:退款 |
refund |
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 |
原商户交易订单号 |
|
O |
channel_trade_no |
凭证条码订单号 |
String |
付款凭证条码订单号 |
161018121614000624679888 |
O |
notify_url |
通知地址(v1.02) |
String |
退款成功后的通知地址 |
http://test.mdun.cn/jd/pay/notice |
O |
pn |
码钱商家交易授权码 |
String |
|
|
M |
remark |
交易备注 |
String |
|
|
O |
acq_addn_data |
(银联二维码)收款方附加数据 |
JSON |
涉及扫码点餐业务,交易需要在此上送商品信息 |
|
O |
(银联二维码)收款方附加数据:acq_addn_data
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
orderInfo |
订单信息 |
JSON |
订单明细内容,如订单标 题、订单描述等 |
|
O |
(银联二维码)订单信息:orderInfo
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
addnInfo |
附加信息 |
String |
银联扫码点餐相关参数,格式参考银联侧要求,例如{brandId=值&storeId=值&tableNo=值} |
|
O |
营销补贴信息:market_subsidy_info
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
party |
营销补贴账户 |
String |
在海科开通的营销补贴账户号 |
|
M |
amt |
营销补贴金额 |
String |
营销补贴金额(单位:元) |
20 |
M |
请求示例:
{
"merch_no": "88888888",
"biz_type": "refund",
"out_refund_no": "201905060000001",
"refund_amount": "0.01",
"trade_no": "AL190506150636810000497062",
"notify_url": "http://47.95.131.62:8080/saas/trade/success/notice/test",
"sign": "5799A557E6E53E4ABF75EC9878AC774E"
}
返回参数:
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
refund_no |
退款订单号 |
String |
SaaS平台的退款订单编号 |
|
M |
channel_trade_no |
凭证条码订单号 |
String |
凭证条码订单号(v1.24增加) |
161018121614000624679888 |
M |
trade_type |
被扫类型 |
String |
微信支付:WX
支付宝支付:ALI
银联二维码支付:UNIONQR
|
|
M |
refund_status |
退款状态 |
int |
退款结果:
1:成功(退款申请接收成功,退款的到账时间以实际为准);
2:失败(退款申请失败,错误原因参考error_msg);
3:结果未知(退款申请处理结果未知,请调用退款查询接口获取退款结果状态) |
|
M |
error_code |
错误码 |
String |
|
|
O |
error_msg |
错误消息 |
String |
|
|
O |
trade_end_time |
SaaS平台交易完成时间 |
String |
SaaS平台交易完成时间,交易完成以后会返回 |
2019-11-18 14:11:23 |
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 |
支付宝原生参数:attach
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
trade_no |
网联交易号 |
String |
|
2013112011001000000121536 |
M |
out_trade_no |
原支付订单的商户订单号 |
String |
原支付订单的商户订单号,32个字符以内、可包含字母、数字、下划线;需保证在商户端不重复 |
20150320010101000121223452324110 |
M |
open_id |
买家支付宝用户号 |
String |
买家支付宝用户号,该参数已废弃,请不要使用 |
2088102122524330 |
M |
buyer_logon_id |
用户的登录id |
String |
用户的登录id |
159****5620 |
M |
fund_change |
本次退款是否发生了资金变化 |
String |
|
Y |
M |
refund_fee |
退款总金额 |
String |
单位:元 |
|
M |
refund_currency |
退款币种信息 |
String |
|
CNY |
O |
gmt_refund_pay |
退款支付时间 |
Date |
|
2014/11/27 15:45:57 |
M |
refund_detail_item_list |
退款使用的资金渠道 |
JSONArray |
|
|
O |
store_name |
交易在支付时候的门店名称 |
String |
|
望湘园联洋店 |
O |
buyer_user_id |
买家在支付宝的用户id |
String |
|
2088101117955611 |
M |
send_back_fee |
本次商户实际退回金额 |
String |
|
|
O |
present_refund_buyer_amount |
本次退款金额中买家退款金额 |
String |
|
|
O |
present_refund_discount_amount |
本次退款金额中平台优惠退款金额 |
String |
|
|
O |
present_refund_mdiscount_amount |
本次退款金额中商家优惠退款金额 |
String |
|
|
O |
code |
网关返回码 |
String |
|
40004 |
M |
msg |
网关返回码描述 |
String |
|
Business Failed |
M |
sub_code |
网关明细返回码 |
String |
|
isv.invalid-signature |
O |
sub_msg |
网关明细返回码描述 |
String |
|
交易已被支付 |
O |
sign |
签名 |
String |
|
|
M |
资金渠道:refund_detail_item_list
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
amount |
该支付工具类型所使用的金额 |
String |
|
|
M |
bank_code |
银行卡支付时的银行代码 |
String |
|
CEB |
O |
fund_channel |
交易使用的资金渠道 |
String |
|
ALIPAYACCOUNT |
M |
real_amount |
渠道实际付款金额 |
String |
|
|
O |
fund_type |
渠道所使用的资金类型 |
String |
目前只在资金渠道(fund_channel)是银行卡渠道(BANKCARD)的情况下才返回该信息(DEBIT_CARD:借记卡,CREDIT_CARD:信用卡,MIXED_CARD:借贷合一卡) |
|
O |
银联原生参数:attach
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
acqAddnData |
收款方附加数据 |
String |
BASE64加密后的字符串 |
|
M |
issAddnData |
付款方附加数据 |
String |
BASE64加密后的字符串 |
|
M |
couponInfo |
优惠类信息(银联单品券时使用) |
String |
BASE64加密后的字符串,解码后为JSONArray |
|
M |
(银联二维码)优惠信息:couponInfo
参数 |
参数名称 |
类型 |
参数说明 |
样例 |
可空 |
spnsrId |
出资方 |
String |
银联作为出资方:固定填写00010000;付款方作为出资方:填写 8 位付款方机构代码商户作为出资方:填写 15 位商户代码(银联商户号)。 |
|
M |
offstAmt |
优惠金额 |
String |
以分为单位 |
|
M |
currencyCode |
货币类型 |
String |
固定:156代表人民币 |
|
O |
id |
项目编号 |
String |
用于票券编号等,格式自定义 |
|
O |
desc |
优惠活动简称 |
String |
可用于展示、打单等 |
|
O |
addnInfo |
附加信息 |
String |
|
|
O |
返回示例:
{
"refund_no": "WX190506165352286000440521",
"channel_trade_no": "WX190506165352286000440521",
"refund_status": 1,
"return_code": 10000,
"sign": "D543561A0DD8CD28DB860C787AEDA343"
}
文档更新时间: 2024-03-14 13:37 作者:陈文