银联商务大华捷通综合支付网银支付接口文档

专业的综合支付与信息服务提供商,提供丰富的支付+行业解决方案,满足各合作伙伴对支付服务的多样场景化需求。
1.本文档下述每个接口的应答报文里errCode字段为系统应答码,status字段为交易状态码
2.商户需自行生成merOrderId。此时merOrderId需要符合银商规范,以银商分配的4位系统编号作为订单号的前4位,且在商户系统中此订单号保证唯一。总长度需大于6位,小于32位。
3.测试环境接口地址:https://dhjt-uat.chinaums.com/queryService/UmsWebPayPlugins
4.生产环境接口地址:https://生产域名/queryService/UmsWebPayPlugins (交易请在测试环境验收完成后,再调用生产环境)
5.本接口为商户的订单H5页面向银商系统发起的支付跳转
6.请求参数使用URLEncode进行URL编码后再进行传递,防止出现乱码问题

支付下单接口

参数名称 参数说明 参数类型 长度 是否必须 备注
version 版本号 字符串 8 固定值:20191031
msgId 消息ID 字符串 4 固定值:10UU
msgType 消息类型 字符串 1..64 (走银联全渠道)固定值:uac.order
requestTimestamp 时间戳 字符串 19 报文请求时间,格式yyyy-MM-dd HH:mm:ss
merOrderId 商户订单号 字符串 6..32 商户自行生成(鼠标单击查看说明)
expireTime 订单过期时间 字符串 19 格式:yyyy-MM-dd HH:mm:ss
orderType 订单类型 字符串 2 02快速签单05拆分支付订单
mid 商户号 字符串 15
tid 终端号 字符串 8
instMid 业务类型 字符串 1..32 固定值:UACDEFAULT
attachedData 商户附加数据 字符串 200 商户附加数据
orderDesc 账单描述 字符串 200 账单描述
employeeNo 操作员工号 字符串 30
originalAmount 订单原始金额,单位分 数字 10 前端系统打折前的金额
totalAmount 支付总金额,单位分 数字 10
divisionFlag 分账标记 Boolean 5 若为true,subOrders和platformAmount字段不能为空;
goods goodsId 商品ID 字符串 商品对象集合转成的json格式数据:List转成JSONArray
goodsName 商品名称 字符串
quantity 商品数量 字符串
price 商品单价(分) 字符串
goodsCategory 商品分类 字符串
body 商品说明 字符串
subMerchantId 子商户号 字符串
merOrderId 商户子订单号,规则与商户订单号一致:msgId开头,不得超过30位 字符串 30
subOrderAmount 子商户商品总额 字符串
subOrders mid 子商户号 字符串 15 没有分账交易。不需要传递(鼠标单击查看说明)
totalAmount 子商户号所得金额(分) 数字 10
merOrderId 商户子订单号 字符串 6..32
platformAmount 平台商户分账金额 数字 10 与subOrders配合使用
notifyUrl 支付结果通知地址 字符串 200 异步往该地址发送支付结果通知
returnUrl 回跳地址 字符串 200 支付完成后将回跳该地址
signType 签名算法 字符串 10 支持SM3(推荐),SHA256,不传默认SM3
limitCreditCard 是否需要限制信用卡支付 Boolean 5 取值:true或false,默认false
transType 银联网关交易类型 字符串 50 注意:银联网关交易时需 要填写。 UPG_PERSONAL:个人网关 支付;
UPG_PERSONAL_PREAUTH: 个人网关预授权;
UPG_BUSINESS:企业网关 支付;
bizType 银联网关业务种类 字符串 50 注意:银联网关交易时需要填写。见取值说明
chnlNo 网关渠道标 识,用来标 识发卡机构 的网关电子 渠道 字符串 16 注意:银联网关交易时需 要填写。 见取值说明
termType 银联网关交 易终端类型 字符串 50 注意:银联网关交易时需 要填写。
电脑:PC 手机:PHONE 其他:OTHERS
chnlType 银联网关交 易受理渠道 字符串 50 在终端类型的基础上进一 步明确交易请求发起的受 理渠道。
注意:银联网关 交易时需要填写。 电脑浏览器:PC 手机浏览器:H5 手机APP:APP 其他:OTHERS
fixBuyer 企业实名认证标记 字符串 1 默认不实名,T实名认证,F或空不实名
payerAcctNo 企业账户 字符串 255 Base64编码,企业实名认证时必填。
测试环境可以使用:6221501111111113900
payerAcctName 企业名称 字符串 255 Base64编码,企业实名认证时必填。
测试环境可以使用:银联商务股份有限公司1
payerAcctBank 企业开户行 字符串 255 Base64编码,企业实名认证时必填。
测试环境可以使用:测试银行1
issueInvoice 开具发票 字符串 4000 如有开具发票的需求(鼠标单击查看说明)
开票文档地址:银联商务发票服务平台标准接口文档v6.4
extend1 扩展字段1 字符串 50 扩展字段,使用时联调约定
extend2 扩展字段2 字符串 50
extend3 扩展字段3 字符串 50
extend4 扩展字段4 字符串 50
sign 签名 字符串 64 签名规则(鼠标单击查看说明)
网银支付前台跳转模式对接,注意:此处get请求,所有的请求参数都需要使用URLEncoder.encode进行编码,字符编码格式是UTF-8,签名时参数值是没有编码的,发送请求时参数值都需要进行编码
商户订单号merOrderId生成规则
商户需自行生成merOrderId。此时merOrderId需要符合银商规范,以银商分配的4位来源编号(msgId的值)作为订单号的前4位,且在商户系统中此订单号保证唯一。总长度需大于6位,小于32位
签名规则
1.签名支持SM3(推荐)和SHA256方式(不上送signType字段时,SM3),计算sign的输入数据为待签名字符串加上key(即:签名密钥),key由大华捷通平台分配。
2.在请求参数列表中,除去sign和空值的参数外,其他需要使用到的参数均为要签名的参数

生成待签名字符串
第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:
(1).参数名ASCII码从小到大排序(字典序);
(2).如果参数的值为空不参与签名;
(3).参数名区分大小写;
(4).验证调用返回时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。
(5).大华捷通平台接口可能增加字段,验证签名时必须支持增加的扩展字段
第二步:在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行SHA256运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

同步返回商户系统

参数名称 参数说明 参数类型 长度 是否必须 备注
version 版本号 字符串 8 固定值:20191031
msgId 消息ID 字符串 4 固定值
responseTimestamp 时间戳 字符串 19 响应时间,格式yyyy-MM-dd HH:mm:ss
instMid 业务类型 字符串 1..32 固定值:UACDEFAULT
status 订单状态 字符串 30 参考取值说明(鼠标单击查看取值说明)
bankCardNo 支付银行信息 字符串 50
billFunds 资金渠道 字符串 50
billFundsDesc 资金渠道说明 字符串 50
buyerId 买家ID 字符串 50
buyerUsername 买家用户名 字符串 50
couponAmount 网付计算的优惠金额 数字(单位:分) 10
buyerPayAmount 实付金额 数字(单位:分) 10
totalAmount 订单金额,单位分 数字(单位:分) 10
invoiceAmount 开票金额 数字(单位:分) 10
receiptAmount 实收金额 数字(单位:分) 10
payTime 支付时间 字符串 19 格式yyyy-MM-dd HH:mm:ss
refId 支付银行卡参考号 字符串 19 格式yyyy-MM-dd HH:mm:ss
refundAmount 退款金额 数字(单位:分) 10
refundDesc 退款说明 字符串 19
seqId 系统交易流水号 字符串 30
settleDate 结算日期 字符串 10 格式yyyy-MM-dd
subBuyerId 卖家子ID 字符串 30
targetOrderId 渠道订单号 字符串 50
targetSys 支付渠道 字符串 30
orderDesc 订单详情 字符串 30
queryId 银联商务大华捷通系统流水号 字符串 30
msgType 消息类型 字符串 1..64 原样返回
merOrderId 商户订单号 字符串 6..32 原样返回
mid 商户号 字符串 15 原样返回
tid 终端号 字符串 8 原样返回
employeeNo 操作员工号 字符串 30 原样返回
attachedData 商户附加数据 字符串 200 原样返回
originalAmount 订单原始金额,单位分 数字 10 原样返回
totalAmount 支付总金额,单位分 数字 10 原样返回
platformAmount 平台商户分账金额 数字 10 原样返回
subOrders 分账明细 字符串 10 原样返回
signType 签名算法 字符串 10 原样返回
extend1 扩展字段1 字符串 50 原样返回
extend2 扩展字段2 字符串 50 原样返回
extend3 扩展字段3 字符串 50 原样返回
extend4 扩展字段4 字符串 50 原样返回
sign 签名 字符串 64 签名规则(鼠标单击查看说明)
1.公众号支付前台跳转模式对接,同步跳转到商户系统,采用get方式跳转(方便vue等前后分离项目获取参数),商户收到跳转请求后,验证签名的规则与支付下单一致,获取全部非空值的参数参与签名,获取到参数需要使用URLDecoder.decode进行解码,字符编码格式是UTF-8,验签时的参数值是解码之后的值
2.根据status参数值判断是否支付成功(此处status并不能作为是否支付的标准,具体支付结果以后台通知为准,商户可以在此处收到status是TRADE_SUCCESS时,使用查询交易结果接口查询交易状态),

status的取值:
(1).NEW_ORDER新订单
(2).TRADE_CLOSED 在指定时间段内未支付时关闭的交易;在交易完成全额退款成功时关闭的交易;支付失败的交易。 TRADE_CLOSED的交易不允许进行任何操作。
(3).WAIT_BUYER_PAY 交易创建,等待买家付款。
(4).TRADE_SUCCESS 支付成功
(5).TRADE_REFUND 订单转入退货流程 退货可能是部分也可能是全部。
(6).UNKNOWN 不明确的交易状态

异步推送支付通知

参数名称 参数说明 参数类型 长度 是否必须 备注
version 版本号 字符串 8 固定值:20191031
msgId 消息ID 字符串 4 固定值
responseTimestamp 时间戳 字符串 19 响应时间,格式yyyy-MM-dd HH:mm:ss
instMid 业务类型 字符串 1..32 固定值:UACDEFAULT
status 订单状态 字符串 30 参考取值说明(鼠标单击查看取值说明)
bankCardNo 支付银行信息 字符串 50
bankInfo 支付银行 字符串 50
billFunds 资金渠道 字符串 50
billFundsDesc 资金渠道说明 字符串 50
buyerId 买家ID 字符串 50
buyerUsername 买家用户名 字符串 50
couponAmount 网付计算的优惠金额 数字(单位:分) 10
buyerPayAmount 实付金额 数字(单位:分) 10
totalAmount 订单金额,单位分 数字(单位:分) 10
invoiceAmount 开票金额 数字(单位:分) 10
receiptAmount 实收金额 数字(单位:分) 10
payTime 支付时间 字符串 19 格式yyyy-MM-dd HH:mm:ss
refId 支付银行卡参考号 字符串 19 格式yyyy-MM-dd HH:mm:ss
refundAmount 退款金额 数字(单位:分) 10
refundDesc 退款说明 字符串 19
seqId 系统交易流水号 字符串 30
settleDate 结算日期 字符串 10 格式yyyy-MM-dd
subBuyerId 卖家子ID 字符串 30
targetOrderId 渠道订单号 字符串 50
targetSys 支付渠道 字符串 30
orderDesc 订单详情 字符串 30
queryId 银联商务大华捷通系统流水号 字符串 30
msgType 消息类型 字符串 1..64 原样返回
merOrderId 商户订单号 字符串 6..32 原样返回
mid 商户号 字符串 15 原样返回
tid 终端号 字符串 8 原样返回
employeeNo 操作员工号 字符串 30 原样返回
attachedData 商户附加数据 字符串 200 原样返回
originalAmount 订单原始金额,单位分 数字 10 原样返回
totalAmount 支付总金额,单位分 数字 10 原样返回
platformAmount 平台商户分账金额 数字 10 原样返回
subOrders 分账明细 字符串 10 原样返回
signType 签名算法 字符串 10 原样返回
subOpenId 付款人openid 字符串 30 原样返回
subAppId 商户微信appId 字符串 30 原样返回
extend1 扩展字段1 字符串 50 原样返回
extend2 扩展字段2 字符串 50 原样返回
extend3 扩展字段3 字符串 50 原样返回
extend4 扩展字段4 字符串 50 原样返回
sign 签名 字符串 64 签名规则(鼠标单击查看说明)
银联网关业务种类bizType取值说明
取值 业务种类 支付场景
100001 虚拟商品购买 商户消费
100002 预付款类账户充值 商户消费
100003 实物消费 商户消费
100005 生活及商业消费服务 商户消费
100006 其他商户消费 商户消费
110001 公共事业缴费 公共服务
110002 教育医疗缴费 公共服务
110003 政府服务缴费 公共服务
110004 公益捐款 公共服务
110008 其他公共服务 公共服务
120001 其他金融付款 金融服务
120003 基金购买 金融服务
120004 保险选购 金融服务
120005 投资理财 金融服务
120006 信贷偿还 金融服务
120007 信用卡还款转出 金融服务
130001 信用卡还款转出 账户充值
130002 信用卡还款转出 账户充值
130003 信用卡还款转出 账户充值
个人网银网关渠道标识chnlNo取值说明
取值 交易类型 渠道类型 网银业务 开通网银业务银行
04100000001 1、全额消费 2、预授权 PC 个人网关支付 平安银行
04100000102 1、全额消费 2、预授权 H5 个人网关支付 平安银行
04100000203 1、全额消费 2、预授权 APP 个人网关支付 平安银行
03040000001 1、全额消费 2、预授权 PC 个人网关支付 华夏银行
01050000001 1、全额消费 PC 个人网关支付 建设银行
03020000001 1、全额消费 2、预授权 PC 个人网关支付 中信银行
03020000102 1、全额消费 2、预授权 H5 个人网关支付 中信银行
03020000203 1、全额消费 2、预授权 APP 个人网关支付 中信银行
03080000200 1、全额消费 APP 个人网关支付 招商银行
企业网银网关渠道标识chnlNo取值说明
取值 交易类型 渠道类型 网银业务 开通网银业务银行
04100001001 1.企业网关支付-全额消费 PC 企业网关支付 平安银行
03040001002 1.企业网关支付-全额消费 PC 企业网关支付 华夏银行
targetSys取值说明
取值 描述
Alipay 1.0 支付宝1.0协议
Alipay 2.0 支付宝2.0协议
WXPay 微信
YQB 壹钱包
QMF 全民付远程快捷
UnionPay 银联钱包
BaiDu 百度钱包
JD 京东钱包
SF 顺丰顺手付
refundStatus取值说明
取值 描述
UNKNOWN 不明确的交易状态,需要调退款查询接口确认退款结果
SUCCESS 退款成功
FAIL 退款失败
PROCESSING 退款处理中,需要调退款查询接口确认退款结果
status取值说明
取值 描述
NEW_ORDER 新订单
UNKNOWN 不明确的交易状态
TRADE_CLOSED 关闭的交易,不允许进行任何操作
WAIT_BUYER_PAY 交易创建,等待买家付款
TRADE_SUCCESS 支付成功
TRADE_REFUND 订单转入退货流程,可能是部分也可能是全部