银联商务大华捷通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 银商订单号 必须与原支付交易返回的订单号一致
oriPlatOrderId 平台流水号 字符串 12 平台流水号,12位,检索参考号
refundOrderId 退款订单号 字符串 0..30 退款请求标识 标识一次退款请求,同一笔订单多次退款需要保证唯一
refundAmount 退款金额 字符串 0..30 交易金额 退货金额,单位:分
refundDesc 商户备注 字符串 0..30 长度不超过50位
limitCrossDevice 是否限制跨终端 字符串 0..30 true : 不可以跨终端false: 可以跨终端
limitCrossDevice 是否限制跨终端 字符串 0..30 true : 不可以跨终端false: 可以跨终端
goods goodsId 商品ID 字符串 商品对象集合转成的json格式数据:List转成JSONArray
goodsName 商品名称 字符串
quantity 商品数量 字符串
price 商品单价(分) 字符串
goodsCategory 商品分类 字符串
body 商品说明 字符串
discount 商品折扣 字符串 最大长度12位,单位:分
storeId 门店号 字符串 15 01
operatorId 操作员编号 字符串 8 01
transactionCurrencyCode 交易币种 字符串 8 156
bizIdentifier 业务标识 字符串 8 业务标识 标识接入的具体业务,除非特殊说明,一般不需要上送
requestTimestamp 报文请求时间 字符串 19 格式yyyy-MM-dd HH:mm:ss
mid 商户号 字符串 15
tid 终端号 字符串 8
billDate 原交易日期 字符串 10 格式:yyyy-MM-dd(鼠标单击查看说明)
instMid 业务类型 字符串 1..32 固定值:B2CDEFAULT
msgType 消息类型 字符串 10 固定值:refund
osType 渠道类型 字符串 10 终端支付:pos;pos支付时,必传
systemcode 大华流水号 字符串 20 pos线下交易时,如需要刷卡转bc,则必传
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
retrievalRefNum 检索参考号 字符串 12
transactionDateWithYear 交易日期 字符串 50 格式:yyyyMMdd
settlementDate 结算日期 字符串 50 格式:MMdd
settlementDateWithYear 结算日期 字符串 50 格式:yyyyMMdd
thirdPartyName 第三方名称 字符串 50 仅仅退款成功的存在该字段
cardAttr 卡类型 字符串 50 借记:01 贷记:03 账户余额:91
refundInvoiceAmount 实际退款金额 字符串 50
transactionAmount 交易金额 字符串 50
installmentNumber 分期期数 字符串 50 花呗分期期数(目前支持支付宝渠道)
installmentSellerPercent 付息方 字符串 50 花呗暂时只支持0/100,100:商家承担
totalRefundPromotionAmt 优惠退货金额 字符串 50 优惠退货金额(合计) ,单位:分
orderPromotionStatus 订单优惠状态 字符串 50 订单优惠状态 0:订单无优惠 1:订单有优惠但未找到 2:订单有优惠且信息完整
eventList(优惠活动活动列表,数组JSON) promotionProviderCode 渠道方 字符串 ACP:银联,UMS:银联商务,ALIPAY:支付宝,WXPAY:微信
flowId 优惠流水ID 字符串 最大长度50位
eventNo 活动编号 字符串 最大长度50位
eventName 活动名称 字符串 最大长度64位
promotionRange 优惠范围 字符串 GLOBAL –全场代金券SINGLE -单品优惠
promotionType 优惠类型 字符串 优惠类型 最大长度32位 promotion_provider= ACP场景: couponInfo[0].type DD01随机立减 CP01事后赠予券 CP02事前领取券
refundPromotionAmt 退货优惠金额 数字型 最大长度15位,单位:分 ACP:couponInfo[*].offstAmt累加结果 UMS:无 ALIPAY: present_refund_discount_amount present_refund_mdiscount_amount WXPAY:refund_amount
platPromotionAmt 平台金额 数字型 平台金额 最大长度15位,单位:分 ACP: couponInfo[].offstAmt累加结果(对应的couponInfo[].spnsrId应为00010000) UMS:无 ALIPAY:present_refund_discount_amount WXPAY:无
mchntPromotionAmt 商户优惠金额 数字型 商户优惠金额 最大长度15位,单位:分 ACP: couponInfo[].offstAmt累加结果(对应的couponInfo[].spnsrId内容长度为15) UMS:无 ALIPAY:present_refund_mdiscount_amount WXPAY:无
thirdPartyPromotionAmt 第三方优惠金额 数字型 第三方优惠金额 最大长度15位,单位:分 ACP:couponInfo[].offstAmt累加结果(对应的couponInfo[].spnsrId内容长度为8,且不为00010000) UMS:无 ALIPAY:无 WXPAY:无
thirdPartyPromotionDetail 第三方出资详情 字符串 第三方出资详情 base64编码 promotion_provider= ACP场景: couponInfo
goodsList(单品列表:数组-JSON) goodsId 商品编号 字符串,最大50
discountAmt 商品编号 数字型
goodsNum 商品数量 数字型
goodsPrice 商品价格 数字型
goodsRemark 商品备注 字符串
oriInfo 原文信息 字符串 50 原文信息 支付渠道侧信息chnlInfo:
chnlCode:支付渠道名称(ACP/ALIPAY/WXPAY)
promotionDetail:微信优惠详情(base64编码,channel_code= WXPAY场景必填,
具体格式参考微信refund_detail字段说明)
cupPromotionInfo:银联活动优惠详情(base64编码,channel_code= ACP场景必填,
具体格式参考银联couponInfo) issAddiData:银联付款方附加数据(base64编码,channel_code= ACP场景必填,
具体格式参考银联issAddnData) 收单机构侧信息acqInfo: acqCode:收单机构名称(UMS)
refundPromotionList:退货优惠详情(base64编码,acq_code =UMS场景必填,
具体格式参考银联商务字段说明)
refundPromotionList 优惠出资明细 字符串 50 优惠出资明细 格式:商户优惠金额
convMchntNo 转商户商户号 字符串 50
convTermNo 转终端终端号 字符串 50
chnlType 目标渠道类型 字符串 50
acqInstCode 受理银行机构代码 字符串 50 受理银行机构代码 详见返回码说明,目前仅数字货币二维码返回
issInstCode 发卡行代码 字符串 50 发卡行代码 详见返回码说明,目前仅数字货币二维码返回
bankCardNo 脱敏后的银行卡号 字符串 50 目前仅云闪付返回
sign 签名 字符串 64 签名规则(鼠标单击查看说明)
errCode取值说明
1000 : 认证失败
1001 : 授权失败
9001 : 参数校验失败
9999 : 系统错误
00 : 交易成功
03 : 无效商户
13 : 无效金额
22 : 原交易不存在
25 : 找不到原始交易
30 : 报文格式错误
57 : 不允许此交易
61 : 超出金额限制
64 : 原始金额错误
92 : 发卡方线路异常
94 : 重复交易
96 : 交换中心异常
97 : 终端号未登记
A7 : 安全处理失败
ER : 参见具体返回信息