银联商务大华捷通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 | 否 | 银商订单号 必须与原支付交易返回的订单号一致 |
| refundOrderId | 退款订单号 | 字符串 | 0..30 | 是 | 退款请求标识 标识一次退款请求,同一笔订单多次退款需要保证唯一 |
| requestTimestamp | 报文请求时间 | 字符串 | 19 | 是 | 格式yyyy-MM-dd HH:mm:ss |
| mid | 商户号 | 字符串 | 15 | 是 | |
| tid | 终端号 | 字符串 | 8 | 是 | |
| billDate | 原交易日期 | 字符串 | 10 | 是 | 格式:yyyy-MM-dd(鼠标单击查看说明) |
| refundDate | 退款日期 | 字符串 | 10 | 是 | 格式:yyyy-MM-dd |
| instMid | 业务类型 | 字符串 | 1..32 | 是 | 固定值:B2CDEFAULT |
| msgType | 消息类型 | 字符串 | 10 | 是 | 固定值:refundQuery |
| 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 | 否 | |||
| queryResCode | 查询结果 | 字符串 | 12 | 否 | 0:成功,其他为失败 | ||
| queryResDesc | 查询结果描述 | 字符串 | 50 | 否 | |||
| payCode | 付款码 | 字符串 | 50 | 否 | |||
| dealDate | 所查询交易交易日期 | 字符串 | 50 | 否 | |||
| dealTime | 所查询交易交易时间 | 字符串 | 50 | 否 | |||
| originalAmount | 原终端上送金额 | 字符串 | 50 | 否 | |||
| dealType | 交易类型 | 字符串 | 50 | 否 | refund | ||
| dealSystemTraceNum | 所查询交易流水 | 字符串 | 50 | 否 | |||
| dealRetrievalRefNum | 所查询交易系统参考号 | 字符串 | 50 | 否 | |||
| batchNo | 批次号 | 字符串 | 50 | 否 | |||
| originalTransactionDate | 原交易日期 | 字符串 | 50 | 否 | 0713 | ||
| origialRetrievalRefNum | 原交易系统参考号 | 字符串 | 50 | 否 | |||
| originalSettlementDate | 原始交易清算日期 | 字符串 | 50 | 否 | 格式:yyyyMMdd | ||
| refundInvoiceAmount | 实际退款金额 | 字符串 | 12 | 否 | 最大长度12位,单位:分 | ||
| totalRefundPromotionAmt | 优惠退货金额 | 字符串 | 50 | 否 | 优惠退货金额(合计) ,单位:分 | ||
| orderPromotionStatus | 订单优惠状态 | 字符串 | 50 | 否 | 订单优惠状态 0:订单无优惠 1:订单有优惠但未找到 2:订单有优惠且信息完整 | ||
| promotionList(优惠活动活动列表,数组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 | 否 | 目前仅云闪付返回 | ||
| thirdPartyName | 第三方名称 | 字符串 | 50 | 否 | 微信钱包 | ||
| sign | 签名 | 字符串 | 64 | 是 | 签名规则(鼠标单击查看说明) | ||
errCode取值说明
1000 : 认证失败
1001 : 授权失败
9001 : 参数校验失败
9999 : 系统错误
00 : 交易成功
03 : 无效商户
13 : 无效金额
22 : 原交易不存在
25 : 找不到原始交易
30 : 报文格式错误
57 : 不允许此交易
61 : 超出金额限制
64 : 原始金额错误
92 : 发卡方线路异常
94 : 重复交易
96 : 交换中心异常
97 : 终端号未登记
A7 : 安全处理失败
ER : 参见具体返回信息