合单支付- 支付宝生活号
1、修订记录
版本号 |
日期 |
说明 |
作者 |
0.1 |
2021/08/26 |
新接口参数定义 |
宁华雄 |
0.2 |
2021/12/27 |
支持国密 |
王晶 |
0.3 |
2022/12/14 |
新增支付宝业务拓展参数extend_params_channel |
刘军 |
2、业务说明
(1)场景说明
1、在电商场景中存在多个商家的多笔订单一次支付,即用户提交一笔订单中包含多个子商户订单信息,用户确认无误后一笔支付订单总金,合单支付款项分别进入子商户各自的账户
(2)接口说明 1、帮助商户代创建和代运营生活号。在商户完成对开发者的授权后,开发者即默认添加为商户生活号的操作员,即可通过接口或生活号后台帮商户维护生活号。 2、商户调用此接口前,请确保已开通“生活号第三方应用“ 3、代创建提交且支付宝审核通过后,下一步则需商户做代创建的授权确认,商户可登录商家中心b.alipay.com查看待办事项,并确认授权
3、请求地址
4、请求参数说明
4.1公共请求参数
参数 |
类型(字节长度) |
必填 |
参数说明 |
method |
String(128) |
Y |
接口名称 固定值 ysepay.online.combine.alijsapi.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 |
buyer_logon_id |
String(100) |
N |
该字段于2023-9-1已不支持使用,请使用buyer_id对接,如有疑问请咨询银盛技术支持! |
buyer_id |
String(100) |
N |
买家支付宝用户ID,和buyer_logon_id不能同时为空。buyer_id获取方法:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8ujLD6&treeId=115&articleId=104114&docType=1通过网页授权获取用户信息,同步响应结果中的user_id对应文档中的buyer_id。 |
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位精度 |
currency |
String(3) |
N |
支持币种:CNY(人民币),默认CNY |
extra_common_param |
String(2000) |
N |
公用回传参数 商户自定义数据域,原样返回 |
sub_order_list |
list |
Y |
子单订单信息(最多50笔) |
extend_params_channel |
String |
N |
支付宝业务拓展参数json格式 示例值:样例7.2 |
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_alijsapi_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 示例值:附录8.1 |
total_amount |
Number |
Y |
该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 |
extra_common_param |
String |
N |
商户自定义数据域,原样返回 |
jsapi_pay_info |
String |
Y |
Json格式字符串,作用于原生态的js支付时的参数 |
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],精确到小数点后两位。 |
trade_no |
String(30) |
N |
该交易在银盛支付系统中的交易流水号。 |
trade_status |
String |
Y |
交易目前所处的状态。成功状态的值: TRADE_SUCCESS\ |
TRADE_CLOSED等 示例值:附录8.1 |
account_date |
String(10) |
N |
入账的时间,格式"yyyyMMdd" 示例值:20140724 |
channel_send_sn |
String(50) |
N |
发往渠道流水号 |
paygate_no |
String(16) |
N |
支付网关编号 |
channel_recv_sn |
String(50) |
N |
渠道返回流水号 |
extra_common_param |
String |
N |
商户自定义数据域,原样返回 |
7.1 Jsapi支付
tradeNO这个值即取自上面jsapi_pay_info参数里的tradeNO的值
AlipayJSBridge.call("tradePay", {
tradeNO: "201209071234123221"
}, function(result) {
if(result.resultCode == '9000'){
}
});
7.2 支付宝业务拓展参数extend_params_channel
{
"food_order_type": "qr_order"
}
8、附录
8.1 交易状态
枚举名称 |
枚举说明 |
WAIT_BUYER_PAY |
交易创建,等待买家付款。 |
TRADE_CLOSED |
在指定时间段内未支付时关闭的交易;客户主动关闭订单。 |
TRADE_SUCCESS |
交易成功,且可对该交易做操作,如:多级分润、退款等。 |
TRADE_PART_REFUND |
部分退款成功。 |
TRADE_ALL_REFUND |
全部退款成功。 |
TRADE_FAILD |
交易失败 |
TRADE_UNDEPOSIT |
交易成功,商户未入账,请联系客户经理处理 |
8.2 支付网关编号
支付渠道代码 |
支付渠道 |
900000001 |
银联-支付宝 |
9000010 |
银联-微信 |
10810001 |
银联扫码-银联云闪付 |
10010001 |
网联-微信 |
10000012 |
网联-支付宝 |
{"code":200,"message":"成功","data":null,"list":null} |