银联商务大华捷通B扫C撤销交易接口文档
1.当日支付的交易可以通过本接口进行退款,撤销交易是全额退款的
2.撤销接口属于后台模式对接,商户后台技术人员可以发起http get/post请求,Content-Type设置为application/x-www-form-urlencoded,字符编码格式使用UTF-8
3.测试接口地址:https://dhjt-uat.chinaums.com/queryService/UmsWebPayPlugins
4.生产环境接口地址:https://生产域名/queryService/UmsWebPayPlugins (交易请在测试环境验收完成后,再调用生产环境)
5.签名逻辑跟支付下单接口一样,如有不清楚的地方可以与大华捷通对接技术人员咨询
6.请求参数使用URLEncode进行URL编码后再进行传递,防止出现乱码问题
7.查询结果同步返回JSON格式的字符串,验证签名规则如下:
(1).将JSON字符串转成JSON对象,获取全部参数,处理sign参数外,其他参数参数值全部放入集合M(参数sign不要放入集合M中)
(2).遍历集合M,取出全部的参数key,将参数key字典序排列,根据排序后的参数key获取对应的value,将非空的参数key和参数value用"="拼接,多个参数之间用"&"拼接。
(3).最后再拼接签名秘钥,组成一个待前面的字符串A
(4).使用相应的签名算法,对字符串A进行签名,得到本地签名结果字符串B
(5).忽略大小写对比字符串B与sign参数值是否相等
| 参数名称 | 参数说明 | 参数类型 | 长度 | 是否必须 | 备注 |
|---|---|---|---|---|---|
| version | 版本号 | 字符串 | 10 | 是 | 固定值:20191031 |
| merOrderId | 商户订单号 | 字符串 | 6..32 | 否 | 商户订单号与银商订单号至少存在一个,如均存在,以商户订单号为准,忽略银商订单号 |
| originalOrderId | 银商订单号 | 字符串 | 6..32 | 否 | 银商订单号 必须与原支付交易返回的订单号一致 |
| refundDesc | 撤销备注 | 字符串 | 0..50 | 否 | 长度不超过50位 |
| limitCrossDevice | 是否限制跨终端 | 字符串 | 0..50 | 否 | true : 不可以跨终端,false: 可以跨终端 |
| bizIdentifier | 业务标识 | 字符串 | 0..50 | 否 | 标识接入的具体业务,除非特殊说明,一般不需要上送 |
| requestTimestamp | 报文请求时间 | 字符串 | 19 | 是 | 格式yyyy-MM-dd HH:mm:ss |
| mid | 商户号 | 字符串 | 15 | 是 | |
| tid | 终端号 | 字符串 | 8 | 是 | |
| billDate | 原交易日期 | 字符串 | 10 | 是 | 格式:yyyy-MM-dd(鼠标单击查看说明) |
| instMid | 业务类型 | 字符串 | 1..32 | 是 | 固定值:B2CDEFAULT |
| msgType | 消息类型 | 字符串 | 10 | 是 | 固定值:revoke |
| osType | 渠道类型 | 字符串 | 10 | 否 | 终端支付:pos;pos支付时,必传 |
| signType | 签名算法 | 字符串 | 10 | 否 | 支持SM3(推荐),SHA256,不传默认SM3 |
| sign | 签名 | 字符串 | 64 | 是 | 签名规则(鼠标单击查看说明) |
| 参数名称 | 参数说明 | 参数类型 | 长度 | 是否必须 | 备注 | ||
|---|---|---|---|---|---|---|---|
| version | 版本号 | 字符串 | 10 | 是 | 固定值:20191031 | ||
| errCode | 平台错误码 | 字符串 | 64 | 是 | 参照errCode取值说明 | ||
| errMsg | 平台错误描述 | 字符串 | 255 | 是 | |||
| responseTimestamp | 时间戳 | 字符串 | 19 | 是 | 响应时间,格式yyyy-MM-dd HH:mm:ss | ||
| transactionTime | 交易时间 | 字符串 | 30 | 否 | hhmmss 150241 | ||
| transactionDate | 交易日期 格式:MMdd | 字符串 | 30 | 否 | 0719 | ||
| transactionDateWithYear | 交易日期 格式:yyyyMMdd | 字符串 | 30 | 否 | 格式:yyyyMMdd | ||
| settlementDate | 结算日期 | 字符串 | 50 | 否 | 格式:MMdd | ||
| settlementDateWithYear | 结算日期 | 字符串 | 30 | 否 | 格式:yyyyMMdd | ||
| retrievalRefNum | 检索参考号 | 字符串 | 12 | 否 | |||
| totalAmount | 订单金额 | 字符串 | 1..64 | 是 | |||
| actualTransactionAmount | 营销联盟优惠后交易金额 | 字符串 | 6..32 | 是 | 营销联盟优惠后交易金额 | ||
| thirdPartyName | 第三方名称 | 数字 | 10 | 是 | 微信钱包 | ||
| cardAttr | 卡类型 | 字符串 | 50 | 否 | 借记:01 贷记:03 账户余额:91 | ||
| installmentNumber | 分期期数 | 字符串 | 50 | 否 | 花呗分期期数(目前支持支付宝渠道) | ||
| installmentSellerPercent | 付息方 | 字符串 | 50 | 否 | 花呗暂时只支持0/100,100:商家承担 | ||
| convMchntNo | 转商户商户号 | 字符串 | 50 | 否 | |||
| convTermNo | 转终端终端号 | 字符串 | 50 | 否 | |||
| sign | 签名 | 字符串 | 64 | 是 | 签名规则(鼠标单击查看说明) | ||
errCode取值说明
1000 : 认证失败
1001 : 授权失败
9001 : 参数校验失败
9999 : 系统错误
00 : 交易成功
03 : 无效商户
13 : 无效金额
22 : 原交易不存在
25 : 找不到原始交易
30 : 报文格式错误
57 : 不允许此交易
61 : 超出金额限制
64 : 原始金额错误
92 : 发卡方线路异常
94 : 重复交易
96 : 交换中心异常
97 : 终端号未登记
A7 : 安全处理失败
ER : 参见具体返回信息