银联行业码下单
1、修订记录
修订记录 | 日期 | 说明 |
---|---|---|
1.0 | 2023.09.08 | 初版 |
2、业务说明
(1)接口说明
通过该接口,可唤起银联行业码支付。
请求主体类型:application/json
请求方式:POST
3、请求地址
环境 | HTTPS请求地址 |
---|---|
测试环境 | https://appdev.ysepay.com/openapi/unify/scan/unionPay/qrcodepay |
正式环境 | https://ysgate.ysepay.com/openapi/unify/scan/unionPay/qrcodepay |
4、请求参数说明
4.1、公共请求参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
timeStamp | String | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
method | String(128) | Y | 接口名称,固定值:unify.scan.unionPay.qrcodepay |
charset | String(10) | Y | 请求使用的编码格式,如utf-8,gbk,gb2312等,固定为utf-8 |
sign | String | Y | 商户请求参数的签名串(签名算法默认为国密),详见demo,注意:请用商户私钥进行签名 |
check | String | Y | 银盛公钥加密随机生成的字符串(key)得到的加密值,详见demo |
bizContent | String | Y | 业务参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递。注意:需要通过AES以及随机生成的字符串(key)加密业务参数集合,得到bizContent |
reqId | String | Y | 请求唯一流水号,商户系统唯一,要求32个字符内(最少14个字符),只能是数字、大小写字母_-且在同一个商户号下唯一。最后12位要求格式为"yyMMddHHmmss" 示例值:xy1415220315145602 |
certId | String | Y | 发起方商户号,服务商在银盛给自己开设的商户号,即可当作发起方商户号,由银盛生成并下发。 注意:不同于子商户号,服务商发展的商户即为子商户号 |
version | String | Y | 调用的接口版本,固定为:1.0 |
4.2、业务请求参数
(bizContent加密前的json数据明文字符串)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
orderId | String(32) | Y | 商户订单号,商户系统生成的订单号,要求如下: 1、须保证在商户端不重复。 2、只能由大小写英文字母、数字、下划线及横杠组成。 建议前8位为交易日期,如20220525,范围跨度支持包含当天在内的前后一天,示例值:202205256843192280647118。 |
msgCode | String | N | 报文编号,为空时默认S3001 ,编号如下: S3001-即时到账 S3002-担保交易 |
shopDate | String(8) | N | 交易日期,商户系统的交易发生日期,格式:yyyyMMdd ,示例:20180525。 |
note | String(125) | Y | 订单备注 |
amount | String(10) | Y | 订单总金额,单位:分。该笔订单的资金总额,必须为正整数。 |
currency | String(3) | N | 交易币种,默认:CNY(人民币)。 |
payeeMercId | String(20) | Y | 收款商户号 |
payeeMercName | String(50) | N | 收款方商户名称,收款商户号对应商户名称。 |
timeOutExpress | String(5) | Y | 订单失效时间,设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。单位:分钟。注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方。 |
extraParam | String(1000) | N | 业务扩展参数 |
extraCommonParam | String(1000) | N | 公用回传参数 |
busiCode | String(10) | Y | 业务代码,请联系银盛客户经理获取。 注意:业务代码非固定值,不同到账方式需要传不同的业务代码。 |
limitCreditPay | String | N | 是否限制贷记卡,类型如下: 0:不限制(默认值) 1:禁用信用卡 |
allowRepeatPay | String | N | 是否允许多次支付,类型如下: Y-允许 N-不允许(参数为空或者Y时,默认该笔订单交易状态非成功状态时,支持选择其他支付方式继续付款, 当为N时表示该笔订单交易状态为失败状态时,不支持选择其他支付方式继续付款) |
notifyUrl | String(190) | Y | 通知地址 |
failNotifyUrl | String(190) | N | 失败通知地址 |
srcIP | String(100) | Y | 发起方IP |
submerIP | String(16) | N | 子商户IP |
gpsInfo | String | N | 付款方gps信息,需包含经、纬度信息:lat-经度,lng-纬度。示例: {\"userGps\":{\"lat\":24.48579,\"lng\":118.126076}}。 |
userId | String | Y | 银联用户标识,通过接口:获取银联用户标识,查询获取。 |
terminalId | String | N | 终端号 |
terminalInfo | String(32) | N | 终端信息 |
subMerchantInfo | Object | N | 二级商户信息,如果有值则二级商户信息都不能为空,如果没值则都不能有值。 |
consigneeInfo | Object | N | 收货人信息 |
4.2.1 subMerchantInfo具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
merName | String(50) | N | 二级商户名称 |
merShortName | String(50) | N | 二级商户简称 |
merAddr | String(200) | N | 二级商户地址 |
telephone | String(13) | N | 客户手机号 |
merNo | String(32) | N | 二级商户编号 |
category | String(20) | N | 类目编号 |
mrchntCertId | String(18) | N | 身份证号,只支持身份证格式。 |
4.2.2 consigneeInfo具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
consigneeName | String(150) | N | 收货人姓名 |
consigneeAddr | String(200) | N | 收货地址 |
transportationInfo | String(200) | N | 物流配送信息,物流名称+订单号。 |
commodityName | String(150) | N | 商品名称 |
commodityNumber | String(10) | N | 商品数量 |
5、响应参数说明
请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。5.1、公共响应参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
code | String(5) | Y | 网关响应码,示例值:00000 ,详见网关公共响应码 |
msg | String(50) | Y | 网关响应码描述 |
subCode | String | Y | 业务响应码,参见具体的API接口文档 |
subMsg | String | Y | 业务响应描述 |
timeStamp | String | Y | 响应时间,格式"yyyy-MM-dd HH:mm:ss" |
norce | String(128) | Y | 随机参数 |
sign | String | Y | 响应参数的签名串,详见demo, 注意:请用银盛公钥进行验签 |
businessData | String | Y | 业务响应参数集合, 注意:银盛网关通过AES加密业务响应参数集合,得到businessData,商户需要对其进行解密,详情请见demo |
5.2、业务响应参数
响应业务参数businessData(json数据)
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
reqMsgId | String | N | 请求流水号 |
businessData | Object | N | 响应结果 |
5.2.1 businessData具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
orderId | String | N | 商户订单号 |
tradeSn | String | N | 交易流水号 |
tradeStatus | String | N | 交易状态 |
amount | String | N | 订单金额,单位:分。 |
currency | String | N | 交易币种 |
extraCommonParam | String | N | 公共回传参数 |
webUrl | String | N | 拉起支付收银台的中间页面url |
6、业务响应码 网关公共响应码
响应码 | 响应码描述 | 解决方案 |
---|---|---|
0000 | 交易成功 | |
9999 | 系统错误 | 支付中该状态为未知状态,请勿当成失败状态处理,请等待支付 通知或继续查询 |
5000 | 请求超时 | 请调用查询接⼝查询订单状态 |
A029998 | 网关非法参数 | 根据返回的描述,修改请求参数。 |
B020100 | 参数校验错误 | 检查请求参数,修改后重新发起请求。 |
B023001 | 查询结果为空 | 请求处理过程中处理结果为空,将请求报文发给前置组核查。 |
B023003 | 商户号错误 | 检查商户号数据。 |
B023004 | 返回结果为空 | 请求处理过程中处理结果为空,将请求报文发给前置组核查。 |
B021100 | 前置系统参数验证错误 | 检查请求参数,修改后重新发起请求。 |
B022011 | 发起方商户号和商户号的归属关系校验失败 | 检查发起方商户号和商户号的归属关系。 |
B023006 | 订单重复支付 | 检查订单号是否重复。 |
B029901 | 业务失败 | 根据实际返回消息分析具体原因。 |
B084221 | 参数错误:报文类型:[] != [[S3001,S3009 | 检查报文编号参数是否满足要求。 |