申请退款API

业务功能
商户针对某一个已经成功支付的订单发起退款,操作结果在同一会话中同步返回。
一、退款方式
目前只支持原路返回退款。
说明:
· 退到银行卡则是非实时的,每个银行的处理速度不同,一般发起退款后1-3个工作日内到账。
· 同一笔单的部分退款需要设置相同的订单号和不同的 out_refund_no 。
· 总退款金额不能超过用户实际支付金额(现金券金额不能退款)
· 部分退款次数最多不能超过15次。

交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
测试url:
http://47.95.131.62:8080/api/v1/pay/ali/refund

请求参数(O-非必传 ,M-必传):

参数 参数名称 类型 参数说明 样例 可空
out_refund_no 服务商退款订单号 String 服务商退款订单号(同一服务商下唯一) 161018121614000624679888 M
refund_amount 退款金额 String 退款金额,以元为单位 100 M
market_subsidy_agent_no 营销补贴代理商编号 Sting 1、不上送默认退回到服务商营销补贴代理商编号账户。
2、如上送退回上送营销补贴代理商编号账户
C
market_subsidy_info 营销补贴退款信息 JSONArray 退款金额不可大于原交易补贴金额 O
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
营销补贴信息:market_subsidy_info
参数 参数名称 类型 参数说明 样例 可空
party 营销补贴账户 String 在海科开通的营销补贴账户号 M
amt 营销补贴金额 String 营销补贴金额(单位:元) 20 M

请求示例:

{
    "accessid": "cpostest",
    "out_refund_no": "20200325171228287",
    "refund_amount": "0.01",
    "out_trade_no": "20200325171228287",
    "trade_no": "AL200325114232721385488321",
    "sign": "B6B8E870464186317272181C168C35E4"
}

返回参数:

参数 参数名称 类型 参数说明 样例 可空
refund_no 退款订单号 String SaaS平台的退款订单编号 M
channel_trade_no 凭证条码订单号 String 凭证条码订单号(v1.24增加) 161018121614000624679888 M
refund_status 退款状态 int 退款结果:

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
参数 参数名称 类型 参数说明 样例 可空
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

返回示例:

正确:
{
    "refund_no": "WX190506165352286000440521",
    "refund_status": 1,
    "return_code": 10000,
    "sign": "D543561A0DD8CD28DB860C787AEDA343"
}
错误:
{
    "return_code": 30018,
    "return_msg": "退款金额大于剩余可退款金额",
    "sign": "C46C909A44C9E7B42B01633EEAE56040"
}
文档更新时间: 2023-03-29 10:17   作者:admin