交易退款(一般户)
1、修订记录
| 修订记录 | 日期 | 说明 |
|---|---|---|
| 1.0 | 2024.07.15 | 初版 |
2、业务说明
(1)接口说明
当商户有开通收支分离,可调用该接口,实现从一般户出退款资金。
请求主体类型:application/json
请求方式:POST
3、请求地址
| 环境 | HTTPS请求地址 |
|---|---|
| 测试环境 | https://appdev.ysepay.com/openapi/trade/order/generalRefund |
| 正式环境 | https://ysgate.ysepay.com/openapi/trade/order/generalRefund |
4、请求参数说明
4.1、公共请求参数
| 参数 | 类型(长度) | 必填 | 参数说明 |
|---|---|---|---|
| timeStamp | String | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
| method | String(128) | Y | 接口名称,固定值:trade.order.generalRefund |
| 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数据明文字符串)
| 参数 | 类型(长度) | 必填 | 参数说明 |
|---|---|---|---|
| mercId | String(20) | Y | 商户号 |
| origOrderId | String(32) | Y | 原订单号 |
| origAmount | dubble | Y | 原交易金额 |
| refundOrderId | String(32) | Y | 退款订单号 |
| refundAmount | dubble | Y | 退款金额 |
| reason | String | N | 退款原因 |
| refundCustId | String | N | 退款出资客户号 |
| isDivision | String | Y | 原交易是否有分账,01:是;02:否;空默认为原交易是有分账; |
| msgCode | String | N | 报文编号,S3112-担保支付;S3113-即时到账。为空则默认为:S3113-即时到账 |
| refundSplitInfoList | Object | N | 退款分账明细,当isDivision=01时,该字段必填 |
4.2.1 refundSplitInfoList具体参数
| 参数 | 类型(长度) | 必填 | 参数说明 |
|---|---|---|---|
| refundMerId | String | N | 分账退款商户号 |
| refundAmount | 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数据)
| 参数 | 类型(长度) | 必填 | 参数说明 |
|---|---|---|---|
| state | String | Y | 交易状态,00:退款成功; 01:退款中; 50:退款超时; 其他系统异常:99 | ZA | ZB | ZC | ZD | ZZ |
| reqMsgId | String | Y | 请求流水号 |
| refundDate | String | N | 退款交易日期 |
| refundSN | String | N | 退款交易流水 |
6、业务响应码 网关公共响应码
| 响应码 | 响应码描述 | 解决方案 |
|---|---|---|
| 0000 | 成功 | |
| A029999 | 交易失败 |