申请退款API
业务功能
商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
一、退款方式
目前只支持原路返回退款。
说明:
· 退到银行卡则是非实时的,每个银行的处理速度不同,一般发起退款后1-3个工作日内到账。
· 同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。
· 总退款金额不能超过用户实际支付金额(现金券金额不能退款)
· 使用免充值优惠的订单仅支持全额退款,不支持部分退款
· 部分退款次数最多不能超过15次。
交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
测试url:
http://47.95.131.62:8080/api/v1/pay/polymeric/refund
请求参数(O-非必传 ,M-必传):
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
merch_no | 商户编号 | String | 原交易商户编号(v1.42增加) | 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 | |
acq_addn_data | (银联二维码)收款方附加数据 | JSON | 涉及扫码点餐业务,交易需要在此上送商品信息 | O |
(银联二维码)收款方附加数据:acq_addn_data
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
orderInfo | 订单信息 | JSON | 订单明细内容,如订单标 题、订单描述等 | O |
(银联二维码)订单信息:orderInfo
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
addnInfo | 附加信息 | String | 银联扫码点餐相关参数,格式参考银联侧要求,例如{brandId=值&storeId=值&tableNo=值} | O |
请求示例:
{
"accessid": "cpostest",
"out_refund_no": "201905060000001",
"refund_amount": "0.01",
"trade_no": "AL190506150636810000497062",
"out_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"
}
文档更新时间: 2025-02-11 11:17 作者:admin