银账通接口(银盛存管)

版本说明

版本 日期 修改 审核 说明
V3.0 2019-03-05 陈伟龙&张海松 何彦霖 银账通产品升级3.0版本,初稿
V3.1 2019-04-01 陈伟龙 何彦霖 增加内部转账功能,以及补充商户进件接口功能
V3.2 2019-04-23 陈刚 卢伟强 修改图片上传接口图片类型备注、商户进件接口客户类型备注
V3.3 2019-07-12 王万琳 卢伟强 商户进件异步通知和查询接口返回数据修改和新增userCode字段
V3.4 2019-11-20 孙秀丽 卢伟强 新增卡Bin查询接口和子商户自动审核功能
V3.5 2020-02-26 孙秀丽 卢伟强 新增错误码说明
V3.6 2020-03-25 孙秀丽 卢伟强 完善充值申请接口及排版更新
V3.7 2020-04-20 孙秀丽 卢伟强 根据风控规则完善必传图片
补充证件,营业执照有效期
V3.8 2020-05-11 孙秀丽 卢伟强 增加个人及商户通知手机号修改,支持平台参与内部转账
V3.9 2020-06-18 孙秀丽 卢伟强 支持小微,个体商户绑卡充值。
V4.0 2020-07-31 孙秀丽 卢伟强 增加转账电子回单
V4.1 2020-08-18 钟凡 吴浪 统一用户号长度为30,新增消息码列表,新增商户报备,报备查询以及商户进件(活体)
V4.2 2020-09-08 钟凡 吴浪 优化旧商户进件接口,新增钱包付款码(申码)和钱包付款码(反扫申请)接口
V4.3 2020-11-09 王万琳 吴浪 新增订单分账信息查询接口

目录

目录 2

1.概述 7

2.接口通讯 7

2.1交互方式 7

2.2报文结构 7

2.3消息码列表 8

2.4 系统对接前的准备工作及注意事项 9

3.产品介绍 9

3.1场景介绍 9

3.2 功能描述 9

3.3 业务流程 9

4 接口说明 10

4.1报文规范 10

4.2后台接口 10

4.2.21充值申请

4.2.22 钱包余额查询

4.2.23 钱包消费申请

4.2.24 快捷消费申请

4.2.25 消费充值提现确认

4.2.26 消费异步通知

4.2.27 订单状态查询

4.2.28 退款

4.2.29 退款查询

4.2.30 提现申请

4.2.31 冻结(解冻)账户接口

4.2.32 内部转账申请

4.2.33 内部转账确认

4.2.34 获取转账电子回单

4.2.35 企业充值申请

4.2.36 企业充值异步通知

4.2.37 订单分账信息查询

4.2.38分账回退

4.2.39数字人民币下单接口

4.2.40数字人民币订单查询接口

4.2.41数字人民币订单申请退款接口

4.2.42数字人民币订单退款查询明细接口

5 返回码 52

6 业务错误码 54

7 安全要求 54

7.1 公钥和私钥使用说明 54

7.2 加解密和签名方案 55

7.2.1 请求报文的加密方案 55

7.2.2 请求报文的签名方案 57

7.2.3 响应报文的解密方案 58

7.2.4 响应报文的验签方案 58

7.2.5 异步通知报文的验签方案 59

1.概述

本文档为银账通系统的对外接入的技术指南,方便商户快速接入。

本文档的目标读者为技术人员

银账通保留对该文档的最终解释权与修改权

2.接口通讯

2.1交互方式

消息请求基于 HTTP/HTTPS 的 POST 方式。

Content-Type 设置" application/x-www-form-urlencoded;charset=UTF-8 "。

2.2报文结构

报文统一以key/value方式,如下:

timeStamp=“时间戳, msg=“加密业务数据”, src=“消息来源”, version=“版本号”,sign=“签名数据”, check=“AES密钥密文”, certId=“商户号”, msgCode=“消息码”

参数说明:

参数 说明 是否必填 取值说明
src 消息来源 M 固定值为02
msgCode 消息码 M 参见2.3消息码列表
version 版本号 M 统一填写为1.0
timeStamp 时间戳 M 格式:yyyy-MM-dd HH:mm:ss
sign 签名数据 M 参见7.2.2签名方案
msg 加密业务数据 M 在“4.2后台接口”章节中,定义的是msg的明文详细内容。是json格式字符串,例如用户信息余额查询的请问报文如下 {"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=","appUserCode":"zj-05","isSearchBalance":"Y"} msg为对以上数据加密处理后得到结果 Msg生成的方式具体参见7.2.1 AES加密流程
norce 随机字符串 M 比如uuid
certId 商户号 M 具体接入时银账通提供的商户号
check AES密钥密文 M 参见7.2.1 中的RSA公钥加密流程

以用户信息余额查询报文举例,报文示例如下

{timeStamp=2018-12-16 10:59:16, msg=yC6+sCdO54gddxPHRHyshX7yie0Qiv7mBiHpW64RGvzuMMq//h4R1v8hqA2n+qwSIISuCUJ7FnKmcKetBo6wxUyQm/5KNyicYYbmSL8wkGO/MKVn08LyILt2/LeftQ5R3NKXIyYaYMS8p2OjOlShZZFt2HZDK3PVvrC2v43GMBop973M1ZlSqjv/UiE+eup3,

norce=cf262c0aa38243979377f04d39865c25,

src=02,

version=1.0, sign=MeQLeL31IwO75hC/GtY3W0M29SCjVUqlm68nOuL7HGFJlNq8FkB1eqfHUenM1O2mn8r5sedEYWbuUUiJi5mgIN5RIHaRP39O8kWwCk7/Al/S+H8gBP9BGU8TdplYGJOzszcD6J3T4To3+3EbRLfJ7/nJaI/UOQvGhNdqA0ng1/s=, check=bjCQfmaGoRhUGZDBoPPXvQjvZaLwMAxC3tLDFyCydcF1Kv6Qj4oH5ggPXoXZ66BHuU4aM73MSHmwgdYxhp1x1VRMPWWw9awlCBI4FYBc/8wClygtiz/l6MAIZk8JfmGXrMADYBlifEXgZ+oQkrVa9tYV8x8idI8hll/yDqE0IXw=,

certId=s0005,

msgCode=searchUser

}

msg加密业务数据明文内容为:

{"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=","appUserCode":"zj-05","isSearchBalance":"Y"}

2.3消息码列表

接口名称 消息码
充值申请 businessEnregister
钱包余额查询 walletBalance
钱包消费申请 businessEnregister
快捷消费申请 businessEnregister
消费充值提现确认 businessConfirm
订单状态查询 searchDetailOfOrder
退款 refund
退款查询 refundSearch
提现申请 businessEnregister
冻结(解冻)账户接口 frozenAccount
内部转账申请 transferPayRegister
内部转账确认 transferPayConfirm
获取转账电子回单 eBillDownload
企业充值申请 etpRechargeRegister
订单分账信息查询 divsionOrderQuery
数字人民币下单接口 digitalCuyPay
数字人民币订单查询接口 digitalCuyQueryOrder
数字人民币订单申请退款接口 applyRefund
数字人民币订单退款查询明细接口 queryRefundOrder

2.4 系统对接前的准备工作及注意事项

测试环境可联系商户对接人员获取app密钥及App用户号及证书。

测试环境对接完成可联系对接人员获取线上证书及相关密钥。

3.产品介绍

3.1场景介绍

适用于商家调用银账通的API接口,在合作商户app或网站上实现用户及商户开户、绑卡、充值、提现、支付、解绑卡等功能。

3.2 功能描述

本文档描述银账通开发项目与合作商户相关系统之间的报文格式、接口规范及安全规范。

3.3 业务流程

银账通合作商户的接入方式,根据业务模式进行接入:

  1. 不验证:用户在交易过程中,银盛不进行任何验证,所有验证交由合作商户完成。

  2. 短信验证:用户在交易过程中,银盛下发短信验证码进行短信验证。

4 接口说明

描述:第三方app后台直接请求银账通后台接口

4.1报文规范

请求参数是否必填,M表示必填,O表示选填

4.2后台接口

4.2.1 充值申请

该接口用于个人用户通过绑定银行卡发起钱包充值申请,如充值开通短信验证功能,则需要继续调用4.2.25消费充值提现确认接口。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/businessEnregister

生产 url: https://yzt.ysepay.com:8443/api/businessEnregister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode App用户号 M String 30 对应用户开户接口的appUserCode
amount 金额 M String 11 金额[0.01-999999999.99]
orderId 商户订单号(32位) M String 32 商户订单号(32位)
cardToken 绑定银行的token值 M String 30 绑定银行接口获取的卡片编号
businesType 业务类型 M String 2 业务类型:必填01
flag 付款方类型 O String 2 用户A1,商户A2,不传默认A1
note 备注(100字) O String 100 备注(100字)

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 请求结果信息:参考值:登记成功
data 业务参数 M Object - 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
sn 登记流水号 M String 20 操作成功时返回

4.2.2 钱包余额查询

该接口用于个人用户查询钱包余额。

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/walletBalance

生产 url:https://yzt.ysepay.com:8443/api/walletBalance

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
AppSecret APP密钥 M String 60 APP密钥
AppUserCode App用户号 M String 30 对应用户开户接口的appUserCode

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200
msg 描述信息 M String 10 参考值:ok
data 参数列表 O Object - 关于钱包信息的数据集

data

参数 名称 是否必填 参数类型 长度 描述
balance 账户余额 O String 9 单位:元
accountType 账户类型 O String 2 01-一般账户

4.2.3 钱包消费申请

用于个人用户通过钱包、绑定银行卡进行消费,如钱包消费开通短信验证功能,则需要继续调用4.2.25消费充值提现确认接口。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/businessEnregister

生产 url: https://yzt.ysepay.com:8443/api/businessEnregister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode App用户号 M String 30 对应用户开户接口的appUserCode
amount 金额 M String 11 金额[0.01-999999999.99]
orderId 商户订单号 M String 32 商户订单号(32位)
merchantId 收款商户号的商号usercode, M String 20 商户号的商户号usercode
merchantName 收款方商户名称 M String 32 商户名称
tranBissType 交易类型 M String 2 交易类型:1及时到账;2担保交易
businesType 业务类型 M String 2 业务类型:\必填03**
note 备注(100字) o String 100 备注(100字)

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 请求结果信息
data 业务参数 M Object - 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
sn 登记流水号 M String 20 操作成功时返回

4.2.4 快捷消费申请

用于个人用户申请快捷消费接口,如快捷消费开通短信验证功能,则需要继续调用4.2.25消费充值提现确认接口。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/businessEnregister

生产 url: https://yzt.ysepay.com:8443/api/businessEnregister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode App用户号 M String 30 对应用户开户接口的appUserCode
amount 金额 M String 11 金额[0.01-999999999.99]
cardToken 绑定银行的token值 M String 30 绑定银行卡后,由银盛返回卡片编号
orderId 商户订单号 M String 32 商户订单号(32位)
merchantId 收款商户的商户号usercode M String 20 商户的商户号usercode
merchantName 收款商户的商户名称 M String 商户名称
tranBissType 交易类型 M String 2 交易类型:1及时到账;2担保交易
businesType 业务类型 M String 2 业务类型:必填04
subject 商品的标题/交易标题/订单标题/ O String 50 商品的标题/交易标题/订单标题/(50字)
note 订单备注说明 O String 100 订单备注说明(100字)

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10
data 业务参数 M Object - 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
sn 登记流水号 M String 20 操作成功时返回

4.2.5 消费充值提现确认

该接口针对消费(钱包消费和快捷消费)及充值,提现接口在开通短信验证码功能时进行短验确认。如未开通短验则不需要调用。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/businessConfirm

生产 url: https://yzt.ysepay.com:8443/api/businessConfirm

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode App用户号 M String 30 对应用户开户接口的appUserCode
sn 签约登记流水号 M String 19 签约登记流水号
verificationCode 短信验证码 M String 2 短信验证码
businesType 业务类型 M String 2 业务类型:01-充值02-提现 03-钱包 04-快捷 05-反扫
flag 付款方类型 O String 2 注:付款方类型:用户A1,商户A2,不传默认A1

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 提示信息
data 业务参数 M Object - 参数集合

data(当businesType=01时参数)

参数 名称 是否必填 参数类型 长度 描述
isResign 签约登记流水号 M String 20 操作成功时返回
tradeStatus 业务状态 M String 2 00:成功 10:处理中 50:超时 99:失败
tranDate 充值日期 M String 15 交易日期

data(当businesType =02时参数,无data)

data(当businesType=03时参数)

参数 名称 是否必填 参数类型 长度 描述
orderId 商户订单号 M String 20
reconciliaNo 对账流水号(仅用于交易对账) M String
totalAmount 总金额 M String 12
tradeStatus 业务状态 M String 00:成功 10:处理中 50:超时 99:失败
ysOrderId 交易流水(银账通) M String
tranDate 付款日期 M String

data(当businesType=04时参数)

参数 名称 是否必填 参数类型 长度 描述
isResign 签约登记流水号 M String
orderId 商户订单号 M String 20
reconciliaNo 对账流水号(仅用于交易对账) M String
totalAmount 总金额 M String
tradeStatus 业务状态 M String 00:成功 10:处理中 50:超时 99:失败
tranDate 付款日期 M String
ysOrderId 交易流水(银账通) M String

4.2.6 消费异步通知

用户在商家app使用钱包支付的方式完成付款,银账通系统会将消费交易的最终结果数据异步回执给商家app后台,此交易由银账通发起,商家app后台需要对报文验签

以下报文参数是异步通知报文中的data参数的明文详细内容。为json格式字符串

发送报文参数列表

参数 类型(字节长度) 参数说明 是否必填 样例
orderId String(1,32) 商户订单号 M
status String(32) 交易目前所处的状态状态的值:00-成功 M 00
origTxnAmt Number(10,2) 初始交易金额.单位为:RMB Yuan。取值范围为[0.01,99999999.99],精确到小数点后两位。 M 10.23
realTxnAmt Number(10,2) 实际的交易金额。单位为:RMB Yuan。取值范围为[0.01,99999999.99],精确到小数点后两位。 M 10.23
payDate String(1,10) 会计日期:日账单格式为yyyyMMdd M 20181113
ysOrderId String(30) 交易流水(银账通) M
reconciliaNo String(32) 对账流水号(仅用于交易对账) M

4.2.7 订单状态查询

该接口适用的场景,个人用户进行付款操作,由于超时等原因导致交易状态结果未知,此时用户可以再查询该订单,确认该笔订单的交易状态,以及企业充值接口订单查询

本交易由商家发起,银账通系统同步返回

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/trust-yspay/searchDetailOfOrder

生产url: https://yzt.ysepay.com:8443/api/trust-yspay/searchDetailOfOrder

编码格式 : UTF-8

调用方式:POST

需要进行用户检查

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 100 App密钥
appUserCode 第三方app唯一用户号 M String 30 对应用户开户接口的appUserCode
orderId 商户订单id M String 30

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 参考值:200
msg 描述信息 M String 参考值:ok
data 业务参数 M Object 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
state 状态 M String 4 04:业务处理中、00:交易成功、99:交易失败
orderId 商户订单id M String 30 订单号
ysOrderId 联网通系统订单号 M String 30 银盛订单号
msg 返回备注 O String 60 返回备注
channelRecvAmount 渠道收到的金额 O String 10 渠道收款金额
sendChannelSn 发往渠道流水号 O String 30 发往渠道流水号

请求参数示例

{

"appUserCode":"zj-05",

"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=",

"orderId":"20181120155952448408"

}

4.2.8 退款

用于个人用户退款,验证调用sdk接口的发起方,本交易由商家app后台发起,银账通系统直接返回

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/trust-yspay/refund

生产url: https://yzt.ysepay.com:8443/api/trust-yspay/refund

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 100 App密钥
refundOrderId 退款订单号 M String 30
refundAmount 退款金额 M Number 15
orderId 原订单编号 M String 30
note 退款原因 O String 500

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 参考值:200
msg 描述信息 M String 参考值:ok
data 业务参数 M Object 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
tradeStatus 业务状态 M String 2 00:成功 10:处理中 50:超时 99:失败
tranDate 退款交易日期 M String 7
refundAmount 退款金额 M Number 15
orderId 原消费订单编号 M String 30
refundOrderId 退款订单号 M String 30
refundSn 退款对账流水号 O String 30

请求参数示例

{

"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=",

"refundOrderId":"201812281837000009",

"refundAmount":0.01,

"orderId":"201812261837000542",

"note":"测试退款123"

}

4.2.9 退款查询

用于退款查询,验证调用sdk接口的发起方,本交易由商家app后台发起,银账通系统直接返回

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/trust-yspay/refundSearch

生产url: https://yzt.ysepay.com:8443/api/trust-yspay/refundSearch

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 100 App密钥
refundOrderId 退款订单号 M String 30
orderId 原订单编号 M String 30

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 参考值:200
msg 描述信息 M String 参考值:ok
data 业务参数 M Object 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
tradeStatus 业务状态 M String 2 00:成功 10:处理中 40:超时 99:失败
tranDate 退款交易日期 M String 7
refundAmount 退款金额 M Number 15
orderId 原消费订单编号 M String 30
refundOrderId 退款订单号 M String 30
refundSn 退款对账流水号 O String 30

请求参数示例

{

"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=",

"refundOrderId":"201812281837000008",

"orderId":"201812261837000542"

}

4.2.10 提现申请

用于个人用户通过发起钱包提现申请将钱包余额提现至指定银行卡,如提现申请开通短信验证功能,则需要继续调用4.2.25消费充值提现确认接口。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/businessEnregister

生产 url: https://yzt.ysepay.com:8443/api/businessEnregister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode App用户号 M String 30 对应用户开户接口的appUserCode
amount 金额[0.01-999999999.99] M String 11 金额[0.01-999999999.99]
orderId 商户订单号(32位) M String 32 商户订单号(32位)
cardToken 绑定银行的token值 M String 30 绑定银行的卡片编号
businesType 业务类型 M String 2 业务类型:\必填02**

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 参考值:200-操作成功
msg 描述信息 M String 请求结果信息:“登记成功”
data 业务参数 M Object 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
sn 登记流水号 M String 20 操作成功时返回

4.2.11 冻结(解冻)账户接口

该接口用于对个人用户进行冻结或是解冻操作

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/frozenAccount

生产 url: https://yzt.ysepay.com:8443/api/frozenAccount

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode 平台用户号 M String 30 对应用户开户接口的appUserCode
type 操作类型 M String 2 00:冻结,01:解冻

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 参考值:200-操作成功
msg 描述信息 M String 请求结果信息:参考值:“冻结成功”

4.2.12 内部转账申请

用于个人用户及B端商户通过商户APP进行内部转账申请

转账流程

1. 调用内部转账申请接口

2. 调用内部转账确认接口

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/transferPayRegister

生产 url: https://yzt.ysepay.com:8443/api/transferPayRegister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
payerUserCode 付款方用户号 M String 30 付款方用户号,必填
payerName 付款方用户名 M String 11 付款方用户名
payeeUserCode 收款方用户号 M String 2 收款方用户号
payeeName 收款方用户名 M String 11 收款方用户名
businesType 交易类型 M String 2 交易类型 (00-用户转用户、01-商户转商户、02-商户转用户、03-商户转平台、04-平台转商户、05-平台转用户、06-供应商转供应商、07-供应商转商户、08-供应商转平台、09-供应商转用户、10-商户转供应商、11-平台转供应商)
orderId 订单号 M String 30 订单号
amount 订单金额 M String 11 订单金额(单位为:元,取值范围为[0.01,100000000.00])
note 转账说明 M String 100 转账说明

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 提示信息
data 业务参数 M Object - 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
sn 签约登记流水号 M String 30 操作成功时返回

4.2.13 内部转账确认

用于个人用户及B端商户调用内部转账申请后,进行确认调用的接口

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/transferPayConfirm

生产 url: https://yzt.ysepay.com:8443/api/transferPayConfirm

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
payerUserCode 付款方用户号 M String 30 付款方用户号,必填
sn 申请流水号 M String 30 申请流水号
verificationCode 短信验证码 M String 6 短信验证码
businesType 交易类型 M String 2 交易类型 (00-用户转用户、01-商户转商户、02-商户转用户、03-商户转平台、04-平台转商户、05-平台转用户、06-供应商转供应商、07-供应商转商户、08-供应商转平台、09-供应商转用户、10-商户转供应商、11-平台转供应商)

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 请求结果提示:“转账成功”
data 业务参数 M Object - 参数集合

data

参数 名称 是否必填 参数类型 长度 描述
outerOrderNo 订单号 M String 24 操作成功时返回
tranDate 交易日期 M String 16 交易日期
payerFee 付款方手续费 M String 8 付款方手续费

4.2.14 获取转账电子回单

用于有需要的商户获取转账电子回单。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/eBillDownload

生产 url:https://yzt.ysepay.com:8443/api/eBillDownload

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode 商户用户号 M String 30 平台用户号
orderId 内部转账订单号 M String 32 商户订单号(32位)

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 下载成功
data 业务参数 M Object - 回单密文,Base64编码。

4.2.15 企业充值申请

用于企业商户进行在线充值(适用于平台及商户进件接口进入的B端企业类型商户)。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/etpRechargeRegister

生产 url: https://yzt.ysepay.com:8443/api/etpRechargeRegister

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
appUserCode 商户用户号 M String 30 平台用户号,即商户进件接口中的userCode
amount 充值金额 M String 11 [0.01999999999.99]
orderId 企业充值订单号 M String 32 商户订单号(32位)
bankType 银行行别 M String 10 银行行别(此处应填写支持的银行编码)\见附表三**
flag 客户类型 M String 2 企业商户(子商户)A3,平台商户A4
notifyUrl 通知地址 M String 充值异步通知地址
note 备注信息 O String 36 备注信息,成功或失败的原因

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 充值申请成功
data 业务参数 M Object - 请求返回相关参数

data

参数 名称 是否必填 参数类型 长度 描述
orderId 订单号 O String 30 请求时返回
channelUrl 渠道URL O String 60 向渠道发起请求的获取企业充值页面的URL
requestFormParam 请求表单参数 O String 10000 获取企业充值页面的请求参数
tranDate 交易日期 O String 8 充值申请的交易日期
tradeSn 交易流水号 O String 20 充值申请的交易流水号
reqMsgId 请求流水号 M String 22 充值申请请求流水号

4.2.16 企业充值异步通知

用于企业充值申请接口异步通知参数说明

通知说明内容

参数 名称 是否必填 参数类型 长度 描述
orderId 企业充值订单号 M String 32 App密钥
tradeSn 交易流水号 M String 30 交易流水号
state 交易状态 M String 2 交易状态 备注: 00 充值成功 99 充值失败
amount 充值金额 M String 11 (单位:元)
notifyTime 通知时间 M String 14 时间格式yyyyMMddHHmmss
payerFee 付款方手续费 O String 8 (单位:元)
payeeFee 收款方手续费 O String 8 (单位:元)
partnerFee 合作方手续费 O String 8 (单位:元)
fee 订单总手续费 O String 8 (单位:元)

4.2.17 订单分账信息查询

用于查询某日的交易订单的分账信息明细记录。

请求URL

测试url: http://bd4-vtest.ysepay.com/yzt/api/divsionOrderQuery

生产 url: https://yzt.ysepay.com:8443/api/scan/divsionOrderQuery

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
accountDate 申码订单号 M String 8 订单交易日期,格式yyyyMMdd

返回参数列表

参数 名称 是否必填 参数类型 长度 描述
code 返回码 M String 3 参考值:200-操作成功
msg 描述信息 M String 10 交易成功
data 返回数据 O String 参数集合(交易成功时返回)

-data-

SORT_ID 交易状态 O String 交易的状态
REFERENCE_ID 交易订单号 O String 交易订单号
IS_CHARGE_FEE 是否收取手续费:01:是,02:否 O String 是否收取手续费:01:是,02:否
IS_AGAIN_DIVISION 是否重新分账交易:Y:是,N:否 O String 是否重新分账交易:Y:是,N:否
PRIORITY 优先级 O String 优先级
IS_REAL_TIME 是否实时拆分:00:是,01:否 O String 是否实时拆分:00:是,01:否
FEE_PRIORITY 手续费优先级 O String 手续费优先级
DIVISION_MERC_ID 分账商户号 O String 分账商户号
DIV_AMOUNT 金额 O String 金额
DIVISION_MODE 分账模式:01:按比例,02:按金额 O String 分账模式:01:按比例,02:按金额
LOG_NO 流水号 O String 流水号
DIV_ORI_TRAN_CHARGE_FEE 分账原流水手续费 O String 分账原流水手续费
ID 分账单号 O String 分账单号
BATCH_NUMBER 分账批次号 O String 分账批次号
REFUND_AMT 累计已退金额 O String 累计已退金额
SPONSOR_MERC_ID 发起方商户号 O String 发起方商户号
DIV_RATIO 比例 O String 比例
DIV_ORI_TRAN_AMT 分账原流水交易金额 O String 分账原流水交易金额
DIV_DT 分账日期 O String 日期
IS_MAIN_MERCHANT 是否主商户:01:是,02:否 O String 是否主商户:01:是,02:否
ORG_NO 商户机构号 O String 商户机构号
IS_DIVISION 是否参与分账:01:是,02:否 O String 是否参与分账:01:是,02:否
MERC_ID 主商户号 O String 主商户号
CHECK_STATE 分账校验:00:成功,01:失败,99:无需分账 O String 分账校验:00:成功,01:失败,99:无需分账
CHARGE_FEE_AMT_SUM 总手续费 O String 总手续费
DIV_TRAN_SOURCE 分账交易来源 O String 分账交易来源
DIV_AMT 分账金额 O String 分账金额
SEQ 分账序列号 O String 分账序列号
AC_DT 原交易日期 O String 原交易日期
DIV_CHARGE_FEE 是否收取手续费:01是,02:否 O String 是否收取手续费:01是,02:否

4.2.18 分账回退接口

该接口用于对子商户分账回退

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/divisionWithdraw

生产 url: https://yzt.ysepay.com:8443/api/divisionWithdraw

编码格式 : UTF-8

调用方式:POST

请求参数列表

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
ysUserCode 银盛商户号 M String 30 分账商户号
orderId M String 分账原交易订单号
backoffAmt 回退金额 M String
backOfOrderId 分账回退订单号 M String
oriMercId 分账原交易收款方商户号 M String 分账原交易收款方商户号
sponsorMercId 分账回退发起方商户号 O String 30 分账回退发起方商户号(机构配置模式,分账回退发起方商户号必填)

响应参数列表

参数 说明 是否必填 备注
code 响应码 M 参考值:200-操作成功
msg 响应信息 M 响应具体描述
norce 随机字符串 M 请求传的随机字符
timeStamp 时间戳 M 格式:2018-12-07 17:26:07
sign 签名值 M 服务端私钥签名后,做base64编码后的结果
data 加密业务数据 O 需使用Base64解密再使用AES解密得到对应Json业务参数明文解密方式见:解密规则

4.2.19 数字人民币下单接口

该接口用于 数字人民币下单H5

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/digitalCuyPay

生产 url: https://yzt.ysepay.com:8443/api/digitalCuyPay

编码格式 : UTF-8

调用方式:POST

公共参数

参数 说明 是否必填 取值说明
src 消息来源 M 固定值为 02
msgCode 消息码 M 固定值为 digitalCuyPay
version 版本号 M 固定值为 1.0
timeStamp 时间戳 M 格式:yyyy-MM-dd HH:mm:ss
sign 签名数据 M 加签方式见:加签规则
norce 随机字符串 M 比如 uuid
certId 商户号 M 具体接入时银账通提供的商户号
check AES密钥密文 M 明文为32位随机字符串加密方式见:加密规则
msg 加密业务数据 M json格式,详细参数见:下方业务参数加密方式见:加密规则

业务参数

(封装成json字符串后,使用随机生成的AES密钥对JSON数据进行AES加密处理,同时进行BASE64编码处理,得到请求参数msg。)

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
ysUserCode 银盛商户号 M String 30 收款商户号
orderId 订单号 M String 订单号
amount 订单金额 M String 取值范围为[0.01,100000000.00],精确到小数点后两位
msgCode 报文编号 M 默认S3001
currency 支持币种 M String CNY(人民币)
payMode 支付方式 M String 默认25
userIp 用户IP M String 支付用户IP
busiCode 业务代码 M String 业务代码 00510060
bankType 银行类型 M String 银行类型1051000 建行
spbillIp 用户端ip M String 必须传正确的用户端ip
payType 交易类型 M String 0:h5;1:小程序

响应参数列表

参数 说明 是否必填 备注
code 响应码 M 参考值:200-操作成功
msg 响应信息 M 响应具体描述
norce 随机字符串 M 请求传的随机字符
timeStamp 时间戳 M 格式:2018-12-07 17:26:07
sign 签名值 M 服务端私钥签名后,做base64编码后的结果
data 加密业务数据 O 需使用Base64解密再使用AES解密得到对应Json业务参数明文解密方式见:解密规则

data对应的json参数

参数 名称 是否必填 参数类型 长度 描述
state 响应状态 M String 2 响应状态说明(state、code、msg组合): 00 0000 交易成功(一般不返回) 05 0001 待支付(下单成功未发送渠道) 06 0001 处理中,已向渠道发起(下单成功已发送渠道,会返回支付的url信息) 50 5000 业务超时 99 9999 支付异常
code 响应码 M String 7
msg 响应描述说明 M Number 15
orderId 订单号 M String 30 订单号
tranDate 交易日期 M String 30 交易日期
mwebUrl H5支付链接 M String 128 拉起支付收银台的中间页面
tradeSn 银盛交易流水号 M String 30 银盛交易流水号
reqMsgId 请求流水号 M String 30 请求流水号 同请求

响应示例

银盛渠道返回完整报文[{"msg":"处理中,已向渠道发起","timeStamp":"2021-10-14 10:50:11","norce":"274424ee296847a89fd0b77c8d29171e","code":"200","data":"N5V13kZPk/VjKxUaw3sKpab/UI5niV+LVDM709SV/hqNqObcy8wUysC3s7v2yLXFqdrVoYKJE4mNGqRQjYwzNJUBi3LvZRifrRpfe2Ty6TDHVEkwUb4iO7HNCIB3JxIoyz6lHDRBLpY6Nc/XAWQU4pwNpoz6Ad+qUykCbkdBTTnL5xg/CJEnAUxZX77lKDN2xMUPwCBLd6LNf39UOWppuPIp10Z4rw46L43zcunTOGiA4Sxe09bQrdqWzl1dSmQ7msbeIa1EsjC6wJ9Ntn8c/pprrBNNdeE7fJh+ZQJFafKvzUlFftSdU6OdJqayzm5WDQy1JiEl8rA6aHImCTxMmOaqLkpRZK38OMqWWehMUx39+F+pEUD8RJ8MiGsqHrbpE6w1aX3cF8iYAKmzZnfaOcCKyoruLpBPKmLYcAk8X/1NOqDd6qVJAh3so4w3lMoXlEy3W/hZZFJ9bbMGqk0tiF3+LqmQkRAQrZS5F+vrr3b61OvadtmPhMEX99uvEk/618qOGaOwqG6D0IdNMHLzdw==","sign":"q6UxGbBXCcmk2cfi4ma7AsM4ZARuKxw3TcA7zG34YsJsCWncIXOty63Ek4voR6aZhkLaxB08E0K2bK31CZgHGdNRNQqkFgyFxRjGVyH1yMRCT5VIeCeVHy3429wDVdVIiDfTXVWgBx6Ut9GyN999n+W7M/ZqTj1R7n48tgllR6hbQwamBS1AQd2uAwx1YZol7/jK7iCGTOZ0JlM18eMQNoPfPpf/wioYpzcIHNCw2Ym0Exw8zU4ysJ7sXgkqkKobtCZhSKJ9VFojhoVs845AShEWqdCrtoKQVtdZU5fpfRhWyst/gMUJRg0LIwWu+yASE61Bfxm+MXV6MEwnKljseg=="}]

4.2.20 数字人民币订单查询接口

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/digitalCuyQueryOrder

生产 url: https://yzt.ysepay.com:8443/api/digitalCuyQueryOrder

编码格式 : UTF-8

调用方式:POST

公共参数

参数 说明 是否必填 取值说明
src 消息来源 M 固定值为 02
msgCode 消息码 M 固定值为 digitalCuyQueryOrder
version 版本号 M 固定值为 1.0
timeStamp 时间戳 M 格式:yyyy-MM-dd HH:mm:ss
sign 签名数据 M 加签方式见:加签规则
norce 随机字符串 M 比如 uuid
certId 商户号 M 具体接入时银账通提供的商户号
check AES密钥密文 M 明文为32位随机字符串加密方式见:加密规则
msg 加密业务数据 M json格式,详细参数见:下方业务参数加密方式见:加密规则

业务参数

(封装成json字符串后,使用随机生成的AES密钥对JSON数据进行AES加密处理,同时进行BASE64编码处理,得到请求参数msg。)

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
ysUserCode 银盛商户号 M String 30 收款商户号
orderId 订单号 M String 订单号

示例

【响应参数列表】

参数 说明 是否必填 备注
code 响应码 M 参考值:200-操作成功
msg 响应信息 M 响应具体描述
norce 随机字符串 M 请求传的随机字符
timeStamp 时间戳 M 格式:2018-12-07 17:26:07
sign 签名值 M 服务端私钥签名后,做base64编码后的结果
data 加密业务数据 O 需使用Base64解密再使用AES解密得到对应Json业务参数明文解密方式见:解密规则

data对应的json参数

参数 名称 是否必填 参数类型 长度 描述
msg 响应描述说明 M Number 15 响应状态说明(state、code、msg组合): 00 0000 交易成功(一般不返回) 05 0001 待支付(下单成功未发送渠道) 06 0001 处理中,已向渠道发起(下单成功已发送渠道,会返回支付的url信息) 50 5000 业务超时 99 9999 支付异常
code 响应码 M String 7
amount 订单金额 M Number 15
orderId 订单号 M String 30
currency 支付方式 M String 30
state 响应状态 M String 30
tradeSn 银盛交易流水号 M String 30

响应示例

银盛渠道返回完整报文[{"msg":"交易成功","timeStamp":"2021-10-14 11:15:09","norce":"9ecb7b25c9314b1492b3a4ad9360f835","code":"200","data":"VXyKk5eHFwzodTFFNOcclq5L5sUSYmj5XRsgx04dNUof8JOj5KCtA/c6ZaW5RsoGKeFj0rqCB6Vebi0q5YGCdFWRc6Jabl9ZtcS7RY+5JYUmqk4hv2W3JS6vchTkhi9q+oO0nv8kMF4WyYIgQtxZlLzjcBy+Ck5rNVPm0ONCEYkB2Y0Vh/obAdGPnX+nlIt7","sign":"WzCmJoNbeRpTt1gUaLhEP4GlBoECsyMdC6lfRleL49cvgyT+zj/ocsTajih8tajzHp+HUJgw/lqsJNLc3tR5u4FrmryVPcP4FEFPjojj6HuUa0U9fbgPFSzmyOWTd7jj+OaJimUKPTqufKr9VKoZZ1O6vbOX5Ex3m96g3WIB5vQ9aiELEznzL5k18S20JJLGvupQ/Gc1nHKlnq0SJCMwBtJqipeirHK5XLf96QAMq9z0IglqcMkeE2N0yHKs5O4jUBp9ifMF1CR0IZE1ThbFo2PGoQFV2lgC3yjONBWqWEM4bx0HyUIDzdfsB/yTsvBVFmNPg15RiyPi2sFYvpxvdg=="}]

4.2.21 数字人民币订单申请退款接口

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/applyRefund

生产 url: https://yzt.ysepay.com:8443/api/applyRefund

编码格式 : UTF-8

调用方式:POST

公共参数

参数 说明 是否必填 取值说明
src 消息来源 M 固定值为 02
msgCode 消息码 M 固定值为 applyRefund
version 版本号 M 固定值为 1.0
timeStamp 时间戳 M 格式:yyyy-MM-dd HH:mm:ss
sign 签名数据 M 加签方式见:加签规则
norce 随机字符串 M 比如 uuid
certId 商户号 M 具体接入时银账通提供的商户号
check AES密钥密文 M 明文为32位随机字符串加密方式见:加密规则
msg 加密业务数据 M json格式,详细参数见:下方业务参数加密方式见:加密规则

业务参数

(封装成json字符串后,使用随机生成的AES密钥对JSON数据进行AES加密处理,同时进行BASE64编码处理,得到请求参数msg。)

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
ysUserCode 银盛商户号 M String 30 收款商户号
origOrderId 订单号 M String 32 原交易订单号
origAmount 订单金额 M String 2 原订单金额
refundOrderId 退款订单号 M String 32 退款订单号(长度:<8,32>)
refundAmount 退款金额 M String 2 退款金额

响应参数列表

参数 说明 是否必填 备注
code 响应码 M 参考值:200-操作成功
msg 响应信息 M 响应具体描述
norce 随机字符串 M 请求传的随机字符
timeStamp 时间戳 M 格式:2018-12-07 17:26:07
sign 签名值 M 服务端私钥签名后,做base64编码后的结果
data 加密业务数据 O 需使用Base64解密再使用AES解密得到对应Json业务参数明文解密方式见:解密规则

data对应的json参数

参数 名称 是否必填 参数类型 长度 描述
msg 响应描述说明 M Number 15
code 响应码 M String 7
orderId 原订单号 M String 30
state 响应状态 M String 30
reqMsgId 请求流水号 M String 30

响应示例

银盛渠道返回完整报文[{"msg":"交易成功","timeStamp":"2021-10-14 11:15:09","norce":"9ecb7b25c9314b1492b3a4ad9360f835","code":"200","data":"VXyKk5eHFwzodTFFNOcclq5L5sUSYmj5XRsgx04dNUof8JOj5KCtA/c6ZaW5RsoGKeFj0rqCB6Vebi0q5YGCdFWRc6Jabl9ZtcS7RY+5JYUmqk4hv2W3JS6vchTkhi9q+oO0nv8kMF4WyYIgQtxZlLzjcBy+Ck5rNVPm0ONCEYkB2Y0Vh/obAdGPnX+nlIt7","sign":"WzCmJoNbeRpTt1gUaLhEP4GlBoECsyMdC6lfRleL49cvgyT+zj/ocsTajih8tajzHp+HUJgw/lqsJNLc3tR5u4FrmryVPcP4FEFPjojj6HuUa0U9fbgPFSzmyOWTd7jj+OaJimUKPTqufKr9VKoZZ1O6vbOX5Ex3m96g3WIB5vQ9aiELEznzL5k18S20JJLGvupQ/Gc1nHKlnq0SJCMwBtJqipeirHK5XLf96QAMq9z0IglqcMkeE2N0yHKs5O4jUBp9ifMF1CR0IZE1ThbFo2PGoQFV2lgC3yjONBWqWEM4bx0HyUIDzdfsB/yTsvBVFmNPg15RiyPi2sFYvpxvdg=="}]

4.2.22 数字人民币订单退款查询明细接口

请求URL

测试url:http://bd4-vtest.ysepay.com/yzt/api/queryRefundOrder

生产 url: https://yzt.ysepay.com:8443/api/queryRefundOrder

编码格式 : UTF-8

调用方式:POST

公共参数

参数 说明 是否必填 取值说明
src 消息来源 M 固定值为 02
msgCode 消息码 M 固定值为 queryRefundOrder
version 版本号 M 固定值为 1.0
timeStamp 时间戳 M 格式:yyyy-MM-dd HH:mm:ss
sign 签名数据 M 加签方式见:加签规则
norce 随机字符串 M 比如 uuid
certId 商户号 M 具体接入时银账通提供的商户号
check AES密钥密文 M 明文为32位随机字符串加密方式见:加密规则
msg 加密业务数据 M json格式,详细参数见:下方业务参数加密方式见:加密规则

业务参数

(封装成json字符串后,使用随机生成的AES密钥对JSON数据进行AES加密处理,同时进行BASE64编码处理,得到请求参数msg。)

参数 名称 是否必填 参数类型 长度 描述
appSecret App密钥 M String 60 App密钥
ysUserCode 银盛商户号 M String 30 收款商户号
refundOrderId 订单号 M String 退款订单号

响应参数列表

参数 说明 是否必填 备注
code 响应码 M 参考值:200-操作成功
msg 响应信息 M 响应具体描述
norce 随机字符串 M 请求传的随机字符
timeStamp 时间戳 M 格式:2018-12-07 17:26:07
sign 签名值 M 服务端私钥签名后,做base64编码后的结果
data 加密业务数据 O 需使用Base64解密再使用AES解密得到对应Json业务参数明文解密方式见:解密规则

响应示例

银盛渠道返回完整报文[{"msg":"交易成功","timeStamp":"2021-10-14 11:18:42","norce":"3513d2dc63974647bbe56db1d4d81378","code":"200","data":"TtFx6GpPUa8Ed78r9JmfyC8imm3cN/vtH8Tdvu2SyHXkL4oA5K0do0AI80xbioWsTyZdUzvXLjeArpbKJxZ3940rrDtvco8msPsM6sm+aYVKg8jwGu+eVCUKbTfRUxOuaQTbc61mS12+UZH8scQHp96QiL303BIHHlEHZAuSBc2Xd+p1bHkpGU5Tuyp1UkAGi9NegKjhcrYYovYx6HbfQVDWJ7zHzlprHP8lziqig+gXU+PM55efhkhGTYN2Az5yzeZbv4lqf0OBpyOJMeLHF68pB094w3UdjgMVEBMWaKxPHAlh6Zw7lUtcy+hksrGEC8DjRHsuTSPDzqjzH5801BGbm99IDCdetR2ROGq6jvrigPmsnsQiFK8QHKkZdX8K5dQV6aeY8AZK6kJ023QZ3EtFhejdF5gzvTfy2eZ9bVcMLXiAYVDdEhKAJ99o7FltqaUTZaTa0MSS3gVP2Uj+fd2uOMYTPpf+h/B5JCmymxQ+S5Oz2p5EC18zi0IskinodHmtgbGFeiqo2noLGvO5K+lqI/EGN8UQIU7syIFWSzXQoK9F4Gb5jLTauSQso4jR","sign":"eBkVzJIkUT8ZlFTYIZ23bF7PuX0ZJ7Ng5yt13SZdS/PM8iPJyn1y1VJlcraPMFbYT6/PuQFB7p58EKSdQXQHX4UqdZ2cTUm5dnoguQKgM6E02BLhK9Id0Pyh0kFGfwoDtTdg+7C+RR1qf0TBvGTHzoTi0I5IdI7kqPXNK3m7b6NctwGaXRmDQmmGtJklos/6stPEXgLhZ1QJVA8IoM/bmk6dBz9/Uf6W6ag+xwx+5j5k2VrtfyGFpdvhNFMuwnS4V91qMgQoe04w1WY4huBKtpFuSzNrxdjElcKn3NCgpgBt1mW5E4tWLmX3juaHnpGWT7d7mYtlyF4yki5nobUTGA=="}]

5 返回码

返回码 描述
A2 验签失败
321 需要验证IMEI
322 需要重新签绑卡协议
323 需要验证支付密码
324 需要验证短信验证码
325 需要发起查询操作(比如二维码查询)
420 必要参数缺失
421 参数格式不正确
431 密码错误次数超限制
432 当天短信验证码发送超限制/密码被锁定/发送失败
433 超出金额限制
434 接口调用次数超限
435 风控校验不过,不允许当笔交易(被风控或其他原因)
440 短信发送过于频繁(前一条验证短信未过期)
441 用户状态非正常
442 商户状态非正常
443 APP状态非正常
450 参数信息不合法
451 不合法的用户编号-用户不存在
452 不合法的商户-商户不存在
453 不合法的appSecret/app为空
454 不合法的密码/错误密码
456 不合法的短信验证码-验证码验证失败
460 不合法或已过期的二维码
461 查询无记录
520 操作失败(或系统繁忙),请稍后重试
521 重复发起操作(比如重复绑卡或重复支付)
522 身份认证失败(比如实名信息错误,非本人身份证)
523 暂不支持该业务或业务没开通权限
524 钱包余额不足
525 消费失败
526 渠道上游异常

附表1

类型 描述
00 公民身份证正面
19 营业执照
20 税务登记证
30 公民身份证反面
31 客户协议
32 授权书
33 手持身份证正扫面照
34 门头照
35 结算银行卡正面照
36 结算银行卡反面照
37 开户许可证或印鉴卡
50 经营场所图1
51 经营场所图2

附表2

图片类型的必要性,打钩为必填项:

证件名称 小微商户* 个体商户 企业商户
身份证正面
身份证反面
手持身份证正面照
营业执照
客户协议
授权书
门头照
结算银行卡正面照
结算银行卡反面照
开户许可证或印鉴卡
经营场所图1
经营场所图2

附表3

银行类型 银行名称
1031000 农业银行
1051000 建设银行
3065810 广发银行
3102900 浦发银行
4031000 邮政银行
3051000 民生银行
3071000 平安银行
3031000 光大银行
3132900 上海银行

6 业务错误码

错误码 错误描述 解决方案
ACQ.SYSTEM_ERROR 系统错误 请联系银盛客服
ACQ.BUSINESS_TIMEOUT_ERROR 业务超时 请调用查询接口查询订单状态
ACQ.SYSTEM_ERROR 系统错误 请使用相同的参数再次调用
ACQ.INVALID_PARAMETER 参数无效 请求参数有错,重新检查请求后,再调用退款

7 安全要求

7.1 公钥和私钥使用说明

生产环境的公钥证书为银盛提供,此公钥证书有两个作用:
1、对所有接口返回的数据进行验签。
2、对随机字符串进行加密,该随机字符串和参与AES对称加密请求参数的随机字符串一致

私钥用于商户签名,格式为xxx_xxx.pfx

7.2 加解密和签名方案

加解密和签名方案分为请求报文的加密签名、响应报文的解密验签、异步通知报文的验签,

其中异步通知报文的验签和响应报文的验签规则是相同的,只是参数不同以及异步通知报文不需要解密业务数据。流程图如下

7.2.1 请求报文的加密方案

本方案采用AES(对称加密算法)和RSA(非对称加密算法)组合的方式进行加密。AES用于业务信息的加密;RSA用于AES密钥的加密传输,

AES加密流程:业务参数组装成JSON格式,直接使用随机生成的AES密钥对JSON数据进行AES加密处理,同时进行BASE64编码处理,得到请求参数msg。

AES加密示例

msg加密前 { "head":{"appSecret":"qY2Q+f7ptLK2/y6tUDMLn42swYklNmstSwEYmCy/DQM=","appUserCode":"zj-05"}, "body":{"isSearchBalance":"Y"} }
随机生成的AES密钥(16 进制表示) 42334430303632373932364537333138
AES加密后(16进制表示) DFBB0EC2EAEF46A813235C700E57D4CEAE1C3CF5ADB2095522B30B23486556F99D851CC16F7011F7B92FFC07FC6E2223C5F8EA232C0AC6450E2D9640853F53AE03A8799B3A438D3DDCE30F7F0BD49CBABFDB108D4C7EBB5916C349B097ECA7683C809717268291B3BE9C503A623D244551B983032082A12090D797745A812E349D6A07A75FECB952FB0ED098F9C816A5
BASE64编码后 37sOwurvRqgTI1xwDlfUzq4cPPWtsglVIrMLI0hlVvmdhRzBb3AR97kv/Af8biIjxfjqIywKxkUOLZZAhT9TrgOoeZs6Q4093OMPfwvUnLq/2xCNTH67WRbDSbCX7KdoPICXFyaCkbO+nFA6Yj0kRVG5gwMggqEgkNeXdFqBLjSdagenX+y5UvsO0Jj5yBal
得到最终的msg msg=“37sOwurvRqgTI1xwDlfUzq4cPPWtsglVIrMLI0hlVvmdhRzBb3AR97kv/Af8biIjxfjqIywKxkUOLZZAhT9TrgOoeZs6Q4093OMPfwvUnLq/2xCNTH67WRbDSbCX7KdoPICXFyaCkbO+nFA6Yj0kRVG5gwMggqEgkNeXdFqBLjSdagenX+y5UvsO0Jj5yBal”

RSA公钥加密流程:商户使用银账通公钥对AES密钥明文进行加密,同时进行BASE64编码处理,得到请求参数check。

RSA公钥加密示例

check加密前 42334430303632373932364537333138
RSA公钥加密后 50E36E9C909EB6A4FF66E9F5CB506F4638F263E479F697F27C0C1D06345376A1177110C9FCEBBD93D356E191B0E9A0F191C25C420F71D1FD4ED85DB64F917A49B175CBDA544744E39E666E2827B4ED8C95907D8015FC3308FD23E898C8DEDE2665B1B5141B323BF4663F1F6C57BEAB839FE26AADF725F89E0F3C7E2D3C971CB6
BASE64编码后 UONunJCetqT/Zun1y1BvRjjyY+R59pfyfAwdBjRTdqEXcRDJ/Ou9k9NW4ZGw6aDxkcJcQg9x0f1O2F22T5F6SbF1y9pUR0TjnmZuKCe07YyVkH2AFfwzCP0j6JjI3t4mZbG1FBsyO/RmPx9sV76rg5/iaq33JfieDzx+LTyXHLY=
得到最终的check check=“UONunJCetqT/Zun1y1BvRjjyY+R59pfyfAwdBjRTdqEXcRDJ/Ou9k9NW4ZGw6aDxkcJcQg9x0f1O2F22T5F6SbF1y9pUR0TjnmZuKCe07YyVkH2AFfwzCP0j6JjI3t4mZbG1FBsyO/RmPx9sV76rg5/iaq33JfieDzx+LTyXHLY=”

7.2.2 请求报文的签名方案

RSA私钥签名:对除了sign参数以外的请求参数做字典排序,并将参数以key=value形似,并用&符号连接成字符串,形如check=123456&msg=xxxx&msgCode=xxx。对拼接后的字符串使用私钥做签名处理,得到参数sign。

签名示例

Key/value报文 {timeStamp=2018-12-16 13:26:16, msg=37sOwurvRqgTI1xwDlfUzq4cPPWtsglVIrMLI0hlVvmdhRzBb3AR97kv/Af8biIjxfjqIywKxkUOLZZAhT9TrgOoeZs6Q4093OMPfwvUnLq/2xCNTH67WRbDSbCX7KdoPICXFyaCkbO+nFA6Yj0kRVG5gwMggqEgkNeXdFqBLjSdagenX+y5UvsO0Jj5yBal, norce=2359e800e11448a086de128487d4fc09, src=02, version=0.1, check=UONunJCetqT/Zun1y1BvRjjyY+R59pfyfAwdBjRTdqEXcRDJ/Ou9k9NW4ZGw6aDxkcJcQg9x0f1O2F22T5F6SbF1y9pUR0TjnmZuKCe07YyVkH2AFfwzCP0j6JjI3t4mZbG1FBsyO/RmPx9sV76rg5/iaq33JfieDzx+LTyXHLY=, certId=tokentest, msgCode=searchUser}
签名原文(sign) certId=tokentest&check=UONunJCetqT/Zun1y1BvRjjyY+R59pfyfAwdBjRTdqEXcRDJ/Ou9k9NW4ZGw6aDxkcJcQg9x0f1O2F22T5F6SbF1y9pUR0TjnmZuKCe07YyVkH2AFfwzCP0j6JjI3t4mZbG1FBsyO/RmPx9sV76rg5/iaq33JfieDzx+LTyXHLY=&msg=37sOwurvRqgTI1xwDlfUzq4cPPWtsglVIrMLI0hlVvmdhRzBb3AR97kv/Af8biIjxfjqIywKxkUOLZZAhT9TrgOoeZs6Q4093OMPfwvUnLq/2xCNTH67WRbDSbCX7KdoPICXFyaCkbO+nFA6Yj0kRVG5gwMggqEgkNeXdFqBLjSdagenX+y5UvsO0Jj5yBal&msgCode=searchUser&norce=2359e800e11448a086de128487d4fc09&src=02&version=1.0&timeStamp=2018-12-16 13:26:16
签名数据 APJZyXOaMsrsWXczUqd6CgOmvvhgF1X1UtovDenSmfQ5Ex0JN2IOB0ItdR35Mlm5OQugqJQloLK8YJs2/vJTFLuqJCmnfRc0PnNfAaoiCSA6cqHpxaBUgR+uRKljxLuMhq7qQmDuUDLrBzWHvyFmTYX4BckK0OKRATyw2of6LBY=
得到最终的sign Sign=“APJZyXOaMsrsWXczUqd6CgOmvvhgF1X1UtovDenSmfQ5Ex0JN2IOB0ItdR35Mlm5OQugqJQloLK8YJs2/vJTFLuqJCmnfRc0PnNfAaoiCSA6cqHpxaBUgR+uRKljxLuMhq7qQmDuUDLrBzWHvyFmTYX4BckK0OKRATyw2of6LBY=”

7.2.3 响应报文的解密方案

AES解密流程:首先BASE64解码加密数据data,根据AEA密钥对数据进行解密处理,转成字符串得到解密数据data

加密数据(data) CjcXpJSNuY6q3ecmAnVXO4EY96K/i79YIdFquZNFvMwNzPO6+M6y8trNuyo4WlbLPVOSMNXYjNiWM/vBbwve7tMsXmxAl+T9eJeOcAlR/B4=
BASE64解码(16进制表示) 0A3717A4948DB98EAADDE7260275573B8118F7A2BF8BBF5821D16AB99345BCCC0DCCF3BAF8CEB2F2DACDBB2A385A56CB3D539230D5D88CD89633FBC16F0BDEEED32C5E6C4097E4FD78978E700951FC1E
AES密钥(16进制表示) 43454530384333413242363237333136
AES密钥解密(字符串) {"data":"9d9aa08c602dbc3fec5d9755c3779ca6","code":"200","msg":"OK"}

7.2.4 响应报文的验签方案

{"charset":"UTF-8","data":"eyJhbW91bnQiOiIxMC4wIiwibm90aWZ5VGltZSI6IjIwMTgtMTItMDcgMTc6MjU6MTUiLCJvcmRlck5vIjoiNDQ0NDU2NjIyMyIsInNlcnZpY2VJZCI6IjE4MDIwNTIxMTcwODAwMzkiLCJzdGF0dXMiOiIwNCIsInRyYWRlU24iOiIzMjEyMDE4MTIwNzYyNzEzMjI0OTQifQ==","sign":"UUfJCDZYBFk/Tqke3XsN63RBtldyzdq8vK4k74SIkpQu6eaxBGlkd/4AjEkk58ZlWYzXcU4pifDHTjAE2CdGMrS79zZwQ1zaaA2xSZMnvtBVJUryUau6e0E2w4/TXWXC/PrPhhVCI7PD8e44Cnii4yXfFhW4ETtdrc4+zfngKEI=","timeStamp":"2018-12-07 17:26:07","version":"1.0"}

名称 类型 说明 备注
code 字符 响应码 具体参照 6返回码
msg 字符 响应信息 响应具体描述
norce 字符 随机字符串
timeStamp 字符 时间戳 格式:2018-12-07 17:26:07
data 字符 加密业务数据 原文是JSON格式的业务参数 AES加密然后再base64编码后的结果
sign 字符 签名值 服务端私钥签名后,做base64编码后的结果

商户端接收到银账通服务端通知的数据后,对所有除了sign以外的参数做字典序排列,并将参数以key=value形式,用&符号进行拼接形成字符串,形如code=200&data=DpAq6Fybf2HDHgxc6k540BKbKem+sBHSsaEzrYNT2gUU6hfOm7yEnDs/vWB9qlmHuTnTRUkdABzCOE3nF2il9yW0G3+o6vyNlEidq2CFuDA=

&msg=OK&norce=5ece581f35b54413b6f5d539de40a527&timeStamp=2018-12-16 14:29:19,然后使用银账通公钥做验签处理,验签通过后,方可进行后续处理。

特别注意:sign参数值为BASE64编码后的结果,验签前需要对sign进行解码处理。 data参数值为BASE64编码结果,后续业务处理也需要进行解码处理,解码后为普通JSON格式字符串,具体参数见data域说明

7.2.5 异步通知报文的验签方案

{"charset":"UTF-8","data":"eyJhbW91bnQiOiIxMC4wIiwibm90aWZ5VGltZSI6IjIwMTgtMTItMDcgMTc6MjU6MTUiLCJvcmRlck5vIjoiNDQ0NDU2NjIyMyIsInNlcnZpY2VJZCI6IjE4MDIwNTIxMTcwODAwMzkiLCJzdGF0dXMiOiIwNCIsInRyYWRlU24iOiIzMjEyMDE4MTIwNzYyNzEzMjI0OTQifQ==","sign":"UUfJCDZYBFk/Tqke3XsN63RBtldyzdq8vK4k74SIkpQu6eaxBGlkd/4AjEkk58ZlWYzXcU4pifDHTjAE2CdGMrS79zZwQ1zaaA2xSZMnvtBVJUryUau6e0E2w4/TXWXC/PrPhhVCI7PD8e44Cnii4yXfFhW4ETtdrc4+zfngKEI=","timeStamp":"2018-12-07 17:26:07","version":"1.0"}

名称 类型 说明 备注
charset String 消息编码格式 现在只支持UTF-8,
version String 消息版本号 现在是1.0 版本
timeStamp String 时间戳 格式:2018-12-07 17:26:07
data String 时间戳 具体通知的JSON格式的业务参数base64编码后的结果
sign String 签名值 服务端私钥签名后,做base64编码后的结果

商户端接收到银账通服务端通知的数据后,对所有除了sign以外的参数做字典序排列,并将参数以key=value形式,用&符号进行拼接形成字符串,形如charset=UTF-8&data=eyJhbW91bnQiOiIxMC4wIiwibm90aWZ5VGltZSI6IjIwMTgtMTItMDcgMTc6MjU6MTUiLCJvcmRlck5vIjoiNDQ0NDU2NjIyMyIsInNlcnZpY2VJZCI6IjE4MDIwNTIxMTcwODAwMzkiLCJzdGF0dXMiOiIwNCIsInRyYWRlU24iOiIzMjEyMDE4MTIwNzYyNzEzMjI0OTQifQ==&timeStamp=2018-12-07 17:26:07&version=1.0,然后使用银账通公钥做验签处理,验签通过后,方可进行后续处理。

特别注意:sign参数值为BASE64编码后的结果,验签前需要对sign进行解码处理。 data参数值为BASE64编码结果,后续业务处理也需要进行解码处理,解码后为普通JSON格式字符串,具体参数见data域说明 {"code":200,"message":"成功","data":null,"list":null}

results matching ""

    No results matching ""