申请退款API

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

交互模式
请求:后台请求交互模式
返回结果+通知:后台请求交互模式+后台通知交互模式
测试url:
地址:39.107.230.207
端口:10020

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

编码格式 参数名称 类型 参数说明 样例 可空
ASCII 交易类型(trans_type) String 必传:R(聚合退款) M
ASCII 接入机构标识(assignid) String 代理商线下入网获取 M
ASCII 服务商退款订单号(out_refund_no) String (同一服务商下唯一) 161018121614000624679888 M
ASCII 退款金额(refund_amount) String 订单总金额,以元为单位 100 M
ASCII 凭证条码订单号(channel_trade_no) String 130022933989643883 M
ASCII pn号(pn) String 20022 M
ASCII 签名(sign) String 可以传递16位 M

请求示例:

字节组拼接顺序:
trans_type + assignid + out_refund_no +refund_amount + channel_trade_no + pn + sign
签名顺序:
assignid + out_refund_no +refund_amount + channel_trade_no+ pn + trans_typ

按照文档顺序
1.针对第一个参数交易类型A,使用1个字节来表示交易类型的ASCII长度(注意:每个参数字节组长度不能超过99个),使用bcd编码获取1个字节 bcd(A.getBytes(“ASCII”).length)
2.获取规定编码的字节组,A.getBytes(“ASCII”)
3.将1和2中字节组进行合并;
4.依次针对所有的字段进行拼接;
5.最后发送字节的16进制字符串:01500863706F7374657374083838383838383838137465737430303030303030303901311831333437333031353438363235373933343616313231393035303530303030303030311643383730353134353732333045314144000000

返回参数:

编码格式 参数名称 类型 参数说明 样例 可空
ASCII 错误码(return_code) int 10000 代表成功,其他是失败 M
ASCII 退款订单号(refund_no) String SaaS平台的退款订单编号 M
ASCII 被扫类型(trade_type) String 微信支付:WX 支付宝支付:ALI 银联二维码支付:UNIONQR M
ASCII 退款状态(refund_status) String 退款结果: 1:成功(退款申请接收成功,退款的到账时间以实际为准); 2:失败(退款申请失败,错误原因参考status_msg); 3:结果未知(退款申请处理结果未知,请调用退款查询接口获取退款结果状态) M
ASCII 原消费交易总金额(total_amount) String 原消费交易总金额(v1.30增加)>原消费交易总金额(v1.30增加) M
ASCII 已退款金额(refunded_amount) String 已退款金额(v1.30增加) M
ASCII 已退款金额(remanent_amount) String 剩余可退款金额(v1.30增加) M
UTF-8 错误信息(return_msg) String O
ASCII 签名(sign) String M

返回示例:

与请求方式一样,获取SAAS返回字节组,先通过解析第一个字节获并使用bcd编码获取return_code的长度,根据return_code的值,进行成功和失败两种的解析。解析过程中要注意参数的顺序
1.当retrun_code为10000时,SAAS平台返回字节组顺序是:return_code + refund_no +trade_type+refund_status+total_amount+refunded_amount+remanent_amount+sign
签名顺序:return_code + refund_no +trade_type+refund_status+total_amount+refunded_amount+remanent_amount
2.当retrun_code不为10000时,SAAS平台返回字节组顺序是:return_code + ret_msg + sign
签名顺序:return_code + return_msg

文档更新时间: 2022-03-11 13:53   作者:梁宇鹏