银联商务大华捷通B扫C交易状态查询接口文档
1.支付完成后,因网络波动等原因,商户未能收到支付结果,可以发起查询,查询该笔交易订单的支付结果,支付撤销(当日支付当日退款的交易)也可通过本接口进行退款状态查询。
2.商户再试定时任务轮训查询接口时一定要注意频率。
3.查询接口属于后台模式对接,商户后台技术人员可以发起http get/post请求,Content-Type设置为application/x-www-form-urlencoded,字符编码格式使用UTF-8
4.测试接口地址:https://dhjt-uat.chinaums.com/queryService/UmsWebPayPlugins
5.生产环境接口地址:https://生产域名/queryService/UmsWebPayPlugins (交易请在测试环境验收完成后,再调用生产环境)
6.签名逻辑跟支付下单接口一样,如有不清楚的地方可以与大华捷通对接技术人员咨询
7.请求参数使用URLEncode进行URL编码后再进行传递,防止出现乱码问题
8.查询结果同步返回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 | 否 | 银商订单号 必须与原支付交易返回的订单号一致 |
| requestTimestamp | 报文请求时间 | 字符串 | 19 | 是 | 格式yyyy-MM-dd HH:mm:ss |
| mid | 商户号 | 字符串 | 15 | 是 | |
| tid | 终端号 | 字符串 | 8 | 是 | |
| billDate | 原交易日期 | 字符串 | 10 | 是 | 格式:yyyy-MM-dd(鼠标单击查看说明) |
| instMid | 业务类型 | 字符串 | 1..32 | 是 | 固定值:B2CDEFAULT |
| msgType | 消息类型 | 字符串 | 10 | 是 | 固定值:query |
| signType | 签名算法 | 字符串 | 10 | 否 | 支持SM3(推荐),SHA256,不传默认SM3 |
| sign | 签名 | 字符串 | 64 | 是 | 签名规则(鼠标单击查看说明) |
| 参数名称 | 参数说明 | 参数类型 | 长度 | 是否必须 | 备注 | |||
|---|---|---|---|---|---|---|---|---|
| version | 版本号 | 字符串 | 10 | 是 | 固定值:20191031 | |||
| errCode | 平台错误码 | 字符串 | 64 | 是 | 参照errCode取值说明 | |||
| errMsg | 平台错误描述 | 字符串 | 255 | 是 | ||||
| responseTimestamp | 时间戳 | 字符串 | 19 | 是 | 响应时间,格式yyyy-MM-dd HH:mm:ss | |||
| balanceAmtEnc | 数币IC余额 | 字符串 | 30 | 否 | 余额(密文),仅数字货币IC卡交易返回 | |||
| acctAmt | 青岛医保预付卡余额 | 字符串 | 30 | 否 | 0719 | |||
| orderStatus | 订单状态 | 字符串 | 30 | 否 | TRADE_CLOSED、TRADE_SUCCESS、TRADE_REFUND、WAIT_BUYER_PAY、NEW_ORDER、UNKNOWN TRADE_ | |||
| originalTransactionTime | 原始交易时间 | 字符串 | 50 | 否 | 格式:YYYYMMDDHHmmSS | |||
| originalSettlementDate | 原始交易清算日期 | 字符串 | 30 | 否 | 格式:yyyyMMdd | |||
| queryResCode | 查询结果 | 字符串 | 12 | 否 | 0:成功 1:超时 2:已撤销 3:已退货 4:已冲正 5:失败(失败情况,后面追加失败描述) FF:交易状态未知 | |||
| queryResDesc | 查询结果描述 | 字符串 | 50 | 否 | ||||
| originalPayCode | 原交易付款码 | 字符串 | 30 | 否 | ||||
| originalBatchNo | 原交易批次号 | 字符串 | 30 | 否 | ||||
| originalSystemTraceNum | 原交易流水号 | 字符串 | 30 | 否 | ||||
| origialRetrievalRefNum | 原检索参考号 | 字符串 | 12 | 否 | ||||
| originalTransactionAmount | 原交易金额 | 字符串 | 30 | 否 | 最大长度12位,单位:分 | |||
| merOrderId | 字符串 | 30 | 否 | |||||
| orderCloseTime | 订单关闭时间 | 字符串 | 1..64 | 是 | 格式:yyyy-MM-dd HH:mm:ss | |||
| refundedAmount | 已退货金额 | 字符串 | 1..64 | 是 | 退货交易的已退货金额,单位:分 | |||
| totalAmount | 订单金额 | 字符串 | 1..64 | 是 | ||||
| actualTransactionAmount | 营销联盟优惠后交易金额 | 字符串 | 6..32 | 是 | 营销联盟优惠后交易金额 | |||
| amount | 实际支付金额 | 字符串 | 15 | 是 | 用户实际支付金额,最大长度12位,单位:分 | |||
| orderId | 订单号 | 字符串 | 8 | 是 | ||||
| marketingAllianceDiscountInstruction | 营销联盟优惠说明 | 字符串 | 30 | 否 | 微信钱包支付73.02元 | |||
| thirdPartyDiscountInstruction | 第三方优惠说明 | 数字 | 10 | 否 | 微信钱包支付73.02元 | |||
| thirdPartyName | 第三方名称 | 数字 | 10 | 是 | 微信钱包 | |||
| thirdPartyBuyerId | 第三方买家Id | 数字 | 10 | 否 | otdJ_uIoiCwFwQ2ocseCtnDOpqjU | |||
| thirdPartyBuyerUserName | 第三方买家用户名 | 字符串 | 10 | 否 | otdJ_uIoiCwFwQ2ocseCtnDOpqjU | |||
| thirdPartyOrderId | 第三方订单号 | 字符串 | 10 | 是 | 4200066286202307198238072004 | |||
| thirdPartyPayInformation | 第三方支付信息 | 字符串 | 30 | 否 | 第三方支付信息 格式为:方式:金额 | |||
| totalDiscountAmount | 优惠金额 | 字符串 | 30 | 否 | (合计) 单位:分 | |||
| discountStatus | 优惠状态 | 字符串 | 50 | 否 | 1:订单有优惠但未找到 2:订单有优惠且找到 | |||
| rawPromotionList | 渠道和收 单机构侧 原始优惠 信息列表 | JSON | 2000 | 否 | 支付渠道侧信息 channel_info: channel_code:支付渠道 名称 (ACP/ALIPAY/WXPAY) promotion_detail:微信 优惠详情 voucher_detail_list:支 付宝活动优惠详情 discount_goods_detail: 支付宝单品优惠详情 coupon_info:银联活动优 惠详情 dct_goods_info:银联活 单品优惠详情 收单机构侧信息acq_info: acq_code:收单机构名称 (UMS) coupon_list:优惠详情 | |||
| promotionList(优惠活动活动列表,数组JSON) | channelName | 渠道方 | 字符串 | 否 | ACP:银联,UMS:银联商务,ALIPAY:支付宝,WXPAY:微信 | |||
| discountId | 优惠流水ID | 字符串 | 否 | 最大长度50位 | ||||
| eventNo | 活动编号 | 字符串 | 否 | 最大长度50位 | ||||
| eventName | 活动名称 | 字符串 | 否 | 最大长度64位 | ||||
| discountScope | 优惠范围 | 字符串 | 否 | GLOBAL –全场代金券SINGLE -单品优惠 | ||||
| discountType | 优惠类型 | 字符串 | 否 | 微信: COUPON - 代金券 DISCOUNT - 优惠券 支付宝: ALIPAY_FIX_VOUCHER - 全 场代金券 ALIPAY_DISCOUNT_VOUCHER - 折扣券 ALIPAY_ITEM_VOUCHER - 单品优惠 | ||||
| eventDiscountAmount | 活动优惠金额 | 数字型 | 否 | 最大长度15位,单位:分 | ||||
| platformDiscountAmount | 平台优惠金额 | 数字型 | 否 | 最大长度15位,单位:分 | ||||
| merchantDiscountAmount | 商户优惠金额 | 数字型 | 否 | 最大长度15位,单位:分 | ||||
| thirdPartyDiscountAmount | 第三方优惠金额 | 数字型 | 否 | 最大长度15位,单位:分 | ||||
| thirdPartyDiscountDetail | 第三方出资详情 | 字符串 | 否 | |||||
| goodsList(单品列表:数组-JSON) | goodsId | 商品编号 | 否 | 字符串,最大50 | ||||
| discountAmount | 商品编号 | 否 | 数字型 | |||||
| goodsNumber | 商品数量 | 否 | 数字型 | |||||
| goodsPrice | 商品价格 | 否 | 数字型 | |||||
| goodsRemark | 商品备注 | 否 | 字符串 | |||||
| merchantAllowance | 商户让利金额 | 字符串 | 50 | 否 | 商户让利金额 单位:分 | |||
| thirdPartyAllowance | 第三方补贴金额 | 字符串 | 50 | 否 | 单位:分 | |||
| thirdPartyPointDiscountAmount | 积分抵扣金额 | 字符串 | 50 | 否 | 单位:分 | |||
| mchntName | 商户名称 | 字符串 | 50 | 否 | ||||
| convMchntNo | 转商户商户号 | 字符串 | 50 | 否 | ||||
| convTermNo | 转终端终端号 | 字符串 | 50 | 否 | ||||
| chnlType | 目标渠道类型 | 字符串 | 50 | 否 | 目前仅数字货币二维码返回DCEP | |||
| promotionAmt | 优惠金额 | 字符串 | 50 | 否 | 单位为分,目前仅数字货币二维码返回 | |||
| acqInstCode | 受理银行机构代码 | 字符串 | 50 | 否 | 详见返回码说明,目前仅数字货币二维码返回 | |||
| issInstCode | 发卡行代码 | 字符串 | 50 | 否 | 详见返回码说明,目前仅数字货币二维码返回 | |||
| bankCardNo | 字符串 | 50 | 否 | 脱敏后的银行卡号 目前仅云闪付返回 | ||||
| queryFlag | 字符串 | 50 | 是 | 查询标志 “Y”表示:订单状态未知,需要终端发起自动查询 | ||||
| sign | 签名 | 字符串 | 64 | 是 | 签名规则(鼠标单击查看说明) | |||
| 取值 | 描述 |
|---|---|
| NEW_ORDER | 新订单 |
| UNKNOWN | 不明确的交易状态 |
| TRADE_CLOSED | 关闭的交易,不允许进行任何操作 |
| WAIT_BUYER_PAY | 交易创建,等待买家付款 |
| TRADE_SUCCESS | 支付成功 |
| TRADE_REFUND | 订单转入退货流程,可能是部分也可能是全部 |