银联行业码支付

1、修订记录

版本号 日期 说明 作者
0.1 2018/10/10 新接口参数定义 邓鑫
0.2 2021/04/13 增加子商户ip submer_ip
0.3 2021/12/27 支持国密 王晶
0.4 2022/02/17 seller_name修改为非必填 王晶
0.5 2022/03/17 version为3.9时 新增支付成功异步通知营销相关字段 刘雷
0.6 2022/07/27 新增付款方gps信息入参 王晶
0.7 2022/10/19 异步通知添加coupon_info字段信息 刘军
0.8 2023/4/13 添加服务商信息编码 方立
0.9 2024/11/04 新增请求参数merchant_marketing_info商户自主营销信息 郑世康

2、业务说明

(1)场景说明

1、用户扫码,app内置浏览器访问二维码URL,进入商户产品/服务H5页面;用户选择产品/服务,进行下单; 2、商户收银台推送订单信息至银联,银联调起APP银联支付,完成交易,银联推送收款交易消息至商户收款侧。

(2)接口说明

1、用户云闪付APP访问的二维码URL,需要到银联进行白名单报备

2、用户云闪付app浏览器前端跳转到https://qr.95516.com/qrcGtwWeb-web/api/userAuth 获取用户授权码

3、用户云闪付app获取到授权码后,调用行业码获取用户标识接口,获取用户标识,

4、使用用户标识下单,成功返回支付URL,用户app访问支付URL 唤起支付界面进行支付

3、请求地址

环境 HTTPS请求地址
正式环境 https://qrcode.ysepay.com/gateway.do

4、请求参数说明

4.1公共请求参数

参数 类型(字节长度) 必填 参数说明
method String(128) Y 接口名称 固定值ysepay.online.cupmulapp.qrcodepay
partner_id String(20) Y 在银盛支付开设的服务商商户号,请联系客户经理提供
timestamp String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"
charset String(10) Y 商户网站使用的编码格式,如UTF-8、GBK、GB2312等,默认值 GBK
sign_type String(10) Y 报文签名算法 RSA、SM
sign String(256) Y 签名字符串,再用Base64编码
notify_url String(190) Y 交易成功异步通知到商户的后台地址,http路径支持多个url进行异步通知,多个url用分隔符“,”分开,格式如:url1,url2,url3,支持TLS1.0、TLS1.1、TLS1.2
version String(3) Y 接口版本3.0/3.4 当前版本 3.4
return_url String(190) N 收款方向银盛下单时上送的前台通知地址(仅允许为外网地址),用户完成支付点击“返回”后,银盛通过浏览器POST请求到该地
biz_content String Y 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递

4.2 业务请求参数

参数名biz_content,值为一个json格式对象,下面列表描述json对象的值

参数 类型(字节长度) 必填 参数说明
out_trade_no String(1,32) Y 商户系统生成的订单号,须保证在商户端不重复,生成规则前8位必须为交易日期,如20220525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成,示例值:202205256843192280647118
shopdate String(8,8) Y 商户日期(该参数做交易与查询时需要一致) 该日期需在当日的前后一天时间范围之内 示例值:20180525
subject String(1,250) Y 订单备注
total_amount Number(10,2) Y 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。Number(10,2)指10位长度,2位精度 示例值:100
seller_id String(1,20) 收款商户号(银盛支付生成并下发)
seller_name String(1,50) N 收款商户号对应商户名称
timeout_express String(2,6) Y 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭,取值范围:1m~15d。m-分钟,h-小时,d-天。该参数数值不接受小数点,如1.5h,可转换为90m。注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方。示例值:96h 代表96小时后订单自动关闭
business_code String(1,10) Y 业务代码 ,请联系银盛客户经理获取。注意:业务代码非固定值,不同到账方式需要传不同的业务代码
spbill_create_ip String(16) Y 必须传正确的用户端ip 示例值:123.12.12.123
bank_type String(7\ 9) Y 行别,银联扫码-9001002
userId String(128) Y 银联用户标识(用户在APP上的标识号,用来提供给收款方,并在收款方发起交易时回传给付款)
allow_repeat_pay String(2) Y 是否允许多次支付,Y:允许;N:不允许(参数为空或者Y时,默认该笔订单交易状态非成功状态时,支持选择其他支付方式继续付款, 当为N时表示该笔订单交易状态为失败状态时,不支持选择其他支付方式继续付款)
extra_common_param String(2000) N 公用回传参数 商户自定义数据域,原样返回
currency String(3) N 默认CNY(人民币)
extend_params String(500) N 业务扩展参数,一个json字符串,order_mode订单模式,暂时可选的值为:00 代表购物车模式;seller_list参与分账的收款方信息数组,每个元素包含seller_id收款方银盛支付用户号。实时分账业务,order_mode和seller_list均不能为空,order_mode的值必须为00。示例值:样例9.1
corp_src_superieor String N 服务商信息编号
sub_merchant SubMerchantInfo N 二级商户信息, Json格式 参考样例,暂包括merName、merShortName、merAddr、telephone、merNo、category、mrchntCertId ,如果有值则二级商户信息都不能为空,如果没值则都不能有值 示例值:样例9.2
consignee_info ConsigeeInfo N 收货人信息json格式 示例值:样例9.3
device_info String(8) N 终端号 自定义 8位整数
terminal_info String(300) N 终端信息
limit_credit_pay String(2) N 是否限制信用卡。值为1表示禁用信用卡,0或为空表示不限制
fail_notify_url String(190) N 失败通知地址(交易状态为失败时,银盛支付服务器主动通知商户网站里指定的页面http路径,支持多个url进行异步通知,多个url用分隔符“,”分开,格式如:url1,url2,url3)注:只有不允许重复支付的交易才会通知
submer_ip String(16) N 子商户ip 112.112.112.112
gps GpsInformation N 付款方gps信息 ,结构见4.2.1
merchant_marketing_info String N 商户自主营销信息,json格式。coupon_id优惠券id、marketing_source_id营销来源id,示例值:merchant_marketing_info: {"coupon_id": "231", "marketing_source_id": "23232" }

4.2.1 付款方GPS信息 GpsInformation

参数 类型 必填 参数说明
latitude Double N 纬度,范围-90~90
longitude Double N 经度,范围-180~180

5、响应参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据同步回执给商户。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

5.1 公共响应参数

参数 类型(字节长度) 必填 参数说明
sign String Y 签名字符串,Base64编码
ysepay_online_cupmulapp_qrcodepay_response String Y 业务响应参数的集合,最大长度不限

5.2 业务响应参数

参数 类型(字节长度) 必填 参数说明
code String Y 响应代码
msg String Y 响应代码描述
out_trade_no String(32) Y 商户系统内部订单号
trade_no String(30) N 银盛支付交易流水号
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS具体详情看下文中的交易状态详解
total_amount Number Y 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。
currency String(3) N 交易币种 默认CNY
web_url String(300) Y web_url为拉起支付收银台的中间页面,可通过访问该url来拉起客户端,完成支付,web_url的有效期为5分钟。(H5) https://xx.xxxpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241

6、页面跳转同步参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过系统程序控制客户端页面自动跳转的方式通知给商户网站。这些处理结果数据就是页面跳转同步通知参数。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

参数 类型(字节长度) 必填 参数说明
sign_type String Y 签名类型,交易请求时的签名类型,RSA/SM
sign String Y 签名字符串,Base64编码
notify_type String Y 通知类型 directpay.status.sync
notify_time String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
out_trade_no String(32) Y 商户系统内部订单号
trade_no String(30) N 银盛支付交易流水号
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS 示例值:样例11.1
total_amount Number N 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:100
account_date String(19) N 入账日期,格式"yyyyMMdd" 示例值:20140724
extra_common_param String(2000) N 公用回传参数 商户自定义数据域,原样返回

7、服务器交易成功异步通知

银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过系统程序控制客户端页面自动跳转的方式通知给商户网站。这些处理结果数据就是页面跳转同步通知参数。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

参数 类型(字节长度) 必填 参数说明
sign_type String Y 签名类型,交易请求时的签名类型,RSA/SM
sign String Y 签名字符串,Base64编码
notify_type String Y 通知类型 directpay.status.sync
notify_time String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
out_trade_no String(32) Y 商户系统内部订单号
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS\ TRADE_CLOSED 示例值:样例11.1
total_amount Number N 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示值值:100
trade_no String(30) N 银盛支付交易流水号
account_date String(10) N 入账的时间,格式"yyyyMMdd" 示例值:20140724
payer_fee Number N 该笔订单的付款方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
payee_fee Number N 该笔订单的收款方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
partner_fee Number N 该笔订单的合作方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
fee Number N 该笔订单的手续费总和(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
channel_send_sn String(50) N 发往渠道流水号
paygate_no String(16) N 支付网关编号
channel_recv_sn String(50) N 渠道返回流水号
card_type String N 卡类型credit:信用卡debit:借记卡
payer_bank_account_no String N 银联云闪付款方账号
extra_common_param String(2000) N 商户自定义数据域,原样返回
coupon_info String(4000) N JSON字符串,银联营销渠道响应优惠信,version小于3.6版本为List的JSON字符串,3.6版本(含)以上为CouponInfo的JSON字符串
preferential_amount Number N 营销优惠金额 版本3.9及以支持 示例值:样例1.2
preferential_fee Number N 营销优惠手续费 版本3.9及以支持 示例值:样例0.02
marketing_rule_json String N 营销规则信息json 版本3.9及以支持

7.1 银联 CupQrCouponDetail

参数 类型(字节长度) 必填 参数说明
spnsrId double Y 出资方,1:银联出资,2:付款方(比如银行)出资,3:商户出资offstAmt
offstAmt double Y 出资金额 ,单位为元

7.2 银联 CouponInfo

参数 类型(字节长度) 必填 参数说明
amount Double Y 清算金额 ,单位为元
origAmount Double Y 订单金额, 单位为元,商户提交的订单金额
cupQrCouponDetail List N 优惠信息-二维码,成功的二维码类交易交易必填,活动维度的优惠展示
issAddnData IssAddnData N 付款方附加数据,交易成功返回,商品维度的优惠展示
cupAcpCouponInfo CupAcpCouponInfo N 优惠信息全渠道,成功的全渠道类交易(如:Wap,手机控件 等)必填,活动维度的优惠展示

7.2.1 CupQrCouponDetail

参数 类型(字节长度) 必填 参数说明
spnsrId double Y 出资方,1:银联出资,2:付款方(比如银行)出资,3:商户出资offstAmt
offstAmt double Y 出资金额 ,单位为元

7.2.2 IssAddnData

参数 类型(字节长度) 必填 参数说明 样例
dctDetail List N 商品优惠信息 交易成功,且请求参数中的收款方附加信息域中的单品命中优惠。商品维度展示优惠信息。

7.2.2.1 DctDetail说明

参数 类型(字节长度) 必填 参数说明
id String Y 参与优惠的商品编号
dctId String Y 优惠活动的编号
dctQuantity int Y 商品优惠数量,本商品数量为 10,其中 2 件参示例:本商品数量为 10,其中 2 件参
dctPrice double Y 商品优惠金额,单位:元。示例:商品单价10元,共 5件,其中2件参与优惠,每件优惠 3元,则本字段值为 6.00
addnInfo String N 附加信息,内容自定义

7.2.3 CupAcpCouponInfo说明

参数 类型(字节长度) 必填 参数说明
discountAmt double Y 总的优惠金额,单位:元,注:退货的时候返回,表示总的优惠回退金额
mchtDiscountAmt double N 商户出资金额,单位:元,注:退货的时候返回,表示商户出资的回退金额
activityId String N 活动编号,票券编号、活动编号等,格式自定义
activityNm String N 活动简称,优惠活动简称,可用于展示、打单等
addnPrintInfo String N 活动打印信息,内容自定义

8、服务器交易失败异步通知

银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站。这些处理结果数据就是服务器异步通知参数。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

参数 类型(字节长度) 必填 参数说明
sign_type String Y 签名类型,交易请求时的签名类型,RSA/SM
sign String Y 签名字符串,Base64编码
notify_type String Y 通知类型 failpay.status.sync
notify_time String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
out_trade_no String(32) Y 商户系统内部订单号
total_amount Number N 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:100
trade_no String(30) N 该交易在银盛支付系统中的交易流水号。
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS\ TRADE_CLOSED等 示例值:样例11.1
result_note String N 交易结果描述,当交易失败时,保存错误描述

9、样例

9.1 extend_params 说明

{
    "cartTYpe": "00",
    "order_mode": "01",
    "seller_list": [{
        "seller_id": "123"
    }, {
        "seller_id": "456"
    }]
}

9.2 sub_merchant 说明

{
    "merName": "二级商户名称",
    "merShortName": "二级商户简称",
    "merAddr": "二级商户地址",
    "telephone": "二级商户服务电话",
    "merNo": "二级商户编号",
    "category": "类目",
    "mrchntCertId": "身份证号"
}

9.3 consignee_info 说明

{
    "consigneeName": "收货人姓名",
    "consigneeAddr": "收货地址",
    "transportationInfo": "物流配送信息",
    "commodityName": "商品名称",
    "commodityNumber": "商品数量"
}

10、附录

10.1 交易状态

枚举名称 枚举说明
WAIT_BUYER_PAY 交易创建,等待买家付款。
TRADE_CLOSED 在指定时间段内未支付时关闭的交易;客户主动关闭订单。
TRADE_SUCCESS 交易成功,且可对该交易做操作,如:多级分润、退款等。
TRADE_PART_REFUND 部分退款成功。
TRADE_ALL_REFUND 全部退款成功。
TRADE_PROCESS 交易正在处理中,可对该交易做查询,避免重复支付。
TRADE_USERPAYING 用户支付中,需要输入密码,可对该交易做查询,避免重复支付。
TRADE_FAILD 交易失败

10.2 支付网关编号

支付渠道代码 支付渠道
900000001 银联-支付宝
9000010 银联-微信
10810001 银联扫码-银联云闪付
10010001 网联-微信
10000012 网联-

results matching ""

    No results matching ""