合单支付- 微信公众号、小程序

1、修订记录

版本号 日期 说明 作者
0.1 2021/08/26 新接口参数定义 宁华雄
0.2 2021/12/27 支持国密 王晶

2、业务说明

(1)场景说明

1、在电商场景中存在多个商家的多笔订单一次支付,即用户提交一笔订单中包含多个子商户订单信息,用户确认无误后一笔支付订单总金,合单支付款项分别进入子商户各自的账户

(2)接口说明

1、该接口支持微信公众号、微信小程序支付,通过参数”is_minipg“区分; 2、调用接口前,商户需要先在微信侧申请公众号或小程序的APPID等参数; 3、商户调用该接口生成预支付交易单,银盛支付将返回预支付参数; 4、商户根据返回的预支付参数,通过JSAPI唤起支付。

3、请求地址

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

4、请求参数说明

4.1公共请求参数

参数 类型(字节长度) 必填 参数说明
method String(128) Y 接口名称 固定值ysepay.online.combine.weixin.pay
partner_id String(20) Y 在银盛支付开设的服务商商户号,请联系客户经理提供
timestamp String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
charset String(10) Y 商户网站使用的编码格式,如UTF-8、GBK、GB2312等,默认值 UTF-8
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.0
tran_type String(1) N 交易类型,说明:1或者空:即时到账,2:担保交易
biz_content String Y 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递

4.2 业务请求参数

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

参数 类型(字节长度) 必填 参数说明
combine_out_trade_no String(1,32) Y 商户系统生成的合单订单号,须保证在商户端不重复,生成规则前8位必须为交易日期,如20220525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成,示例值:202205256843192280647118
shopdate String(8,8) Y 商户系统的交易发生日期格式yyyyMMdd 示例值:20180525
is_minipg String(1) N 小程序支付,值为1,表示小程序支付;不传或值为2,表示公众账号内支付
appid String(32) Y 商户在微信侧申请的小程序或公众号APPID。当发起公众号支付时,需填写公众号的APPID(应用ID);当发起小程序支付时,需填写小程序的APPID(应用ID)
sub_openid String(128) Y 用户在商户appid下的唯一标识。可参考https://pay.weixin.qq.com/wiki/doc/apiv3/terms_definition/chapter1_1_3.shtml#part-3获取
timeout_express String(2,6) Y 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。(需申请业务权限,权限未开通情况下该参数不生效,默认未付款交易的超时时间为7d)取值范围:1m~15d。m-分钟,h-小时,d-天。该参数数值不接受小数点,如1.5h,可转换为90m。注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方。示例值:96h 代表96小时后订单自动关闭
combine_seller_id String(1,20) Y 合单交易商户号(由银盛支付生成并下发),必须是子单收款商户号或者服务商商户号
business_code String(1,10) Y 业务代码 ,00510150
subject String(1,250) Y 商品的标题/交易标题/订单标题/订单关键字等。该参数最长为250个汉字。
total_amount Number(10,2) Y 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。Number(10,2)指10位长度,2位精度,示例值:100
sub_order_list list Y 子单订单信息(最多50笔)
extra_common_param String(2000) N 公用回传参数 商户自定义数据域,原样返回
currency String(3) N 支持币种:CNY(人民币),默认传CNY

4.2.1 子订单 sub_order_list

参数 类型(字节长度) 必填 参数说明
out_trade_no String(1,32) Y 商户生成的子单订单号,生成规则前8位建议为交易日期,如20180525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成 示例值:201805256843192280647118
amount Number(10,2) Y 该笔子订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。Number(10,2)指10位长度,2位精度
seller_id String(200) Y 银盛支付子单收款商户号

5、响应参数说明

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

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

5.1 公共响应参数

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

5.2 业务响应参数

参数 类型(字节长度) 必填 参数说明
code String Y 响应代码
msg String Y 响应代码描述
combine_out_trade_no String(32) Y 商户生成的合单订单号
combine_trade_no String(30) N 该交易在银盛支付系统中的交易流水号。
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS具体详情看下文中的交易状态详解 示例值:附录7.1
total_amount Number Y 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。
jsapi_pay_info String Y Json格式字符串,作用于原生态的js支付时的参数
extra_common_param String N 商户自定义数据域,原样返回

5.2.1 支付串 jsapi_pay_info

参数 类型(字节长度) 参数说明
appId String(32) 商户在微信侧申请的APPID,接口返回jsapi_pay_info中的信息 示例值:wxd678efh567hg6787
timeStamp String(32) 时间戳,接口返回jsapi_pay_info中的信息
nonceStr String(32) 随机字机串,接口返回jsapi_pay_info中的信息 示例值:5K8264ILTKCH16CQ2502SI8
package String(128) 订单详情扩展字符串,接口返回jsapi_pay_info中的信息 示例值:prepay_id=u802345jgfjsdfg
signType String(32) 签名方式,接口返回jsapi_pay_info中的信息 示例值:MD5
paySign String(256) 签名,接口返回jsapi_pay_info中的信息 示例值:C380BEC2BFD727A4B6845132

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
combine_out_trade_no String(32) Y 商户生成的合单订单号 示例值:6843192280647118
combine_total_amount Number N 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:100
trade_no String(30) N 该交易在银盛支付系统中的交易流水号
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS\ TRADE_CLOSED等 示例值:附录7.1
account_date String(10) N 入账的时间,格式"yyyyMMdd" 示例值:20140724
channel_send_sn String(50) N 发往渠道流水号
paygate_no String(16) N 支付网关编号 示例值:附录7.2
channel_recv_sn String(50) N 渠道返回流水号
extra_common_param String N 商户自定义数据域,原样返回

7、附录

7.1 交易状态

枚举名称 枚举说明
WAIT_BUYER_PAY 交易创建,等待买家付款。
TRADE_CLOSED 在指定时间段内未支付时关闭的交易;客户主动关闭订单。
TRADE_SUCCESS 交易成功,且可对该交易做操作,如:多级分润、退款等。
TRADE_PART_REFUND 部分退款成功。
TRADE_ALL_REFUND 全部退款成功。
TRADE_FAILD 交易失败
TRADE_UNDEPOSIT 交易成功,商户未入账,请联系客户经理处理

7.2 支付网关编号

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

results matching ""

    No results matching ""