交易退款
1、修订记录
修订记录 | 日期 | 说明 |
---|---|---|
1.0 | 2023.02.16 | 初版 |
2、业务说明
(1)接口说明
调用接口,可发起条码类交易退款。
注意事项:
1、最终退款成功的结果不是实时返回,可通过退款查询接口查询终态。
2、微信一个订单最多退50次。
请求主体类型:application/json
请求方式:POST
3、请求地址
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://appdev.ysepay.com/openapi/unify/trade/refund |
正式环境 | https://ysgate.ysepay.com/openapi/unify/trade/refund |
4、请求参数说明
4.1、公共请求参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
timeStamp | String | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
method | String(128) | Y | 接口名称,固定值:unify.trade.refund |
charset | String(10) | Y | 请求使用的编码格式,如utf-8,gbk,gb2312等,固定为utf-8 |
sign | String | Y | 商户请求参数的签名串(签名算法默认为国密),详见demo,注意:请用商户私钥进行签名 |
check | String | Y | 银盛公钥加密随机生成的字符串(key)得到的加密值,详见demo |
bizContent | String | Y | 业务参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递。注意:需要通过AES以及随机生成的字符串(key)加密业务参数集合,得到bizContent |
reqId | String | Y | 请求唯一流水号,商户系统唯一,要求32个字符内(最少14个字符),只能是数字、大小写字母_-且在同一个商户号下唯一。最后12位要求格式为"yyMMddHHmmss" 示例值:xy1415220315145602 |
certId | String | Y | 发起方商户号,服务商在银盛给自己开设的商户号,即可当作发起方商户号,由银盛生成并下发。 注意:不同于子商户号,服务商发展的商户即为子商户号 |
version | String | Y | 调用的接口版本,固定为:1.0 |
4.2、业务请求参数
(bizContent加密前的json数据明文字符串)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
origOrderId | String(32) | N | 商户原交易订单号,原订单号、原交易流水号不能同时为空。如果同时存在优先取原订单号。示例值:201805256843192280647118。 |
origTradeSn | String(30) | N | 原交易流水号,银盛原交易流水号,原订单号、原交易流水号不能同时为空。如果同时存在优先取原订单号。 示例值:311160414497667096。 |
shopDate | String(8) | Y | 商户日期,该参数做交易与查询时需要一致。 |
refundAmount | String(10) | Y | 申请退款金额,需要退款的金额,该金额不能大于订单金额,单位为:分。 |
refundReason | String(50) | Y | 退款原因,退款的原因说明。 |
refundOrderId | String(32) | Y | 商户退款订单号,商户系统生成的退款订单号,示例值:RD2012061713107,要求如下: 1、标识一次退款请求,同一笔交易多次退款需要保证唯一。 2、该参数支持汉字,最大长度为16个。 3、用同一订单号同一退款流水号继续退款时,则会返回第一次退款的结果不会继续退款 。 |
notifyUrl | String | N | 通知回调地址 |
5、响应参数说明
请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。5.1、公共响应参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
code | String(5) | Y | 网关响应码,示例值:00000 ,详见网关公共响应码 |
msg | String(50) | Y | 网关响应码描述 |
subCode | String | Y | 业务响应码,参见具体的API接口文档 |
subMsg | String | Y | 业务响应描述 |
timeStamp | String | Y | 响应时间,格式"yyyy-MM-dd HH:mm:ss" |
norce | String(128) | Y | 随机参数 |
sign | String | Y | 响应参数的签名串,详见demo, 注意:请用银盛公钥进行验签 |
businessData | String | Y | 业务响应参数集合, 注意:银盛网关通过AES加密业务响应参数集合,得到businessData,商户需要对其进行解密,详情请见demo |
5.2、业务响应参数
响应业务参数businessData(json数据)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
businessData | Object | N | 响应数据 |
reqMsgId | String | N | 请求流水号 |
5.2.1 businessData具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
refundAmount | String | Y | 退款金额,本次发生的退款金额,单位:分, 示例值:1。 |
origTradeSn | String(30) | Y | 原订单交易流水,银盛支付平台的订单交易流水,示例值:311160414497667096。 |
origOrderId | String(32) | Y | 原商户订单号,订单支付时传入的商户订单号,示例值:68431922806471166。 |
accountDate | String(10) | Y | 退款会计日期,格式"yyyyMMdd",示例值:20140724。 |
refundOrderId | String(32) | Y | 商户退款请求单号,示例值:RD2012061713107。 |
refundTradeSn | String(32) | Y | 银盛退款流水号,示例值:01R210622215530564。 |
6、业务响应码 网关公共响应码
响应码 | 响应码描述 | 解决方案 |
---|---|---|
0000 | 交易成功 | |
9999 | 失败 | 请根据返回提示操作或联系银盛技术人员处理 |
5000 | 交易超时 | 请检查网络或稍后重新发起请求 |
A029998 | 网关非法参数 | 检查请求参数,修改后重新发起请求。 |
B021100 | 前置系统参数验证错误 | 检查请求参数,修改后重新发起请求。 |
B043001 | 查询结果为空 | 检查发起方商户号和商户号的归属关系。 |
B043003 | 商户号有误 | 请检查发起方商户号是否真实存在。 |
B029901 | 业务失败 | 根据实际返回消息分析具体原因。 |