商户进件
特约商户进件
基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
支付即服务
点金计划
行业方案
平台收付通(商户进件)
平台收付通(普通支付)
平台收付通(合单支付)
平台收付通(分账)
平台收付通(补差)
平台收付通(退款)
平台收付通(余额查询)
平台收付通(商户提现)
平台收付通(注销申请)
平台收付通(注销后提现)
平台收付通(跨境付款)
平台收付通(下载账单)
智慧商圈
微信支付分停车服务
电子发票
营销工具
代金券
商家券
委托营销
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
分账
连锁品牌分账
风险合规
商户开户意愿确认
消费者投诉2.0
商户违规通知回调
其他能力
图片上传
视频上传
微信支付平台证书

合单JSAPI下单API

最新更新时间:2022.03.17 版本说明


使用合单支付接口,用户只输入一次密码,即可完成多个订单的支付。目前最多一次可支持50笔订单进行合单支付。


注意:

• 订单如果需要进行抽佣等,需要在合单中指定需要进行分账(profit_sharing为true);指定后,交易资金进入二级商户账户,处于冻结状态,可在后续使用分账接口进行分账,利用分账完结进行资金解冻,实现抽佣和对二级商户的账期。

接口说明

适用对象:电商平台 服务商

请求URL:https://api.mch.weixin.qq.com/v3/combine-transactions/jsapi

请求方式:POST


path指该参数为路径参数

query指该参数需在请求URL传参

body指该参数需在请求JSON传参


请求参数

参数名 变量 类型[长度限制] 必填 描述
合单商户appid combine_appid string[1,32] body 合单发起方的appid。
示例值:wxd678efh567hg6787
合单商户号 combine_mchid string[1,32] body合单发起方商户号,服务商和电商模式下,传服务商商户号。
示例值:1900000109
合单商户订单号 combine_out_trade_no string[1,32] body 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
示例值:P20150806125346
+场景信息 scene_info object body 支付场景信息描述
参数名 变量 类型[长度限制] 必填 描述
商户端设备号 device_id string[7,16] 终端设备号(门店号或收银设备ID)。
示例值:POS1:123
用户终端IP payer_client_ip string[1,45] 用户的客户端IP,支持IPv4和IPv6两种格式的IP地址。
格式: ip(ipv4+ipv6)
获取用户IP指引
示例值:14.17.22.32
+子单信息 sub_orders array body 最多支持子单条数:50
参数名 变量 类型[长度限制] 必填 描述
子单商户号 mchid string[1,32] 子单发起方商户号,必须与发起方appid有绑定关系。服务商和电商模式下,传服务商商户号。
示例值:1900000109
附加数据 attach string[1,128] 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。
示例值:深圳分店
+订单金额 amount object 订单金额
参数名 变量 类型[长度限制] 必填 描述
标价金额 total_amount int64 子单金额,单位为分。
境外场景下,标价金额要超过商户结算币种的最小单位金额,例如结算币种为美元,则标价金额必须大于1美分
示例值:100
标价币种 currency string[1,8] 符合ISO 4217标准的三位字母代码,人民币:CNY。
示例值:CNY
子单商户订单号 out_trade_no string[6,32] 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
示例值:20150806125346
订单优惠标记 goods_tag string[1,32] 订单优惠标记,使用代金券或立减优惠功能时需要的参数,说明详见代金券或立减优惠
示例值:WXG
二级商户号 sub_mchid string[1,32] 二级商户商户号,由微信支付生成并下发。服务商子商户的商户号,被合单方。直连商户不用传二级商户号。
注意:仅适用于电商平台 服务商
示例值:1900000109
商品描述 description string[1,127] 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如:天天爱消除-游戏充值。
示例值:腾讯充值中心-QQ会员充值
+结算信息 settle_info Object 结算信息
参数名 变量 类型[长度限制] 必填 描述
是否指定分账 profit_sharing boolean 是否指定分账,枚举值:
true:是
false:否
示例值:true
补差金额 subsidy_amount int64 SettleInfo.profit_sharing为true时,该金额才生效。
注意:单笔订单最高补差金额为5000元
示例值:10
子商户应用ID sub_appid string[1,32] 子商户申请的应用ID,全局唯一。请求基础下单接口时请注意APPID的应用属性,例如公众号场景下,需使用应用属性为公众号的APPID 若sub_openid有传的情况下,sub_appid必填,且sub_appid需与sub_openid对应
示例值:wxd678efh567hg6999
+支付者 combine_payer_info object body 支付者信息
参数名 变量 类型[长度限制] 必填 描述
用户标识 openid string[1,128] 二选一 使用合单appid获取的对应用户openid。是用户在商户appid下的唯一标识。
获取用户openid指引
示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
用户子标识 sub_openid string[1, 128] 服务商模式下,使用某个子商户的Appid获取的对应用户Openid,是用户在该子商户Appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。
示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
交易起始时间 time_start string[1,32] body 订单生成时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒125毫秒。
示例值:2019-12-31T15:59:59+08:00
交易结束时间 time_expire string[1,32] body 订单失效时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
示例值:2019-12-31T15:59:59+08:00
通知地址 notify_url string[1,256] body 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
格式: URL
示例值:https://yourapp.com/notify

请求示例


{
	"combine_out_trade_no": "20150806125346",
	"combine_mchid": "1900000109",
	"combine_appid": "wxd678efh567hg6787",
	"scene_info": {
		"device_id": "POS1:123",
		"payer_client_ip": "14.17.22.32"
	},
	"sub_orders": [{
		"mchid": "1900000109",
		"attach": "深圳分店",
		"amount": {
			"total_amount": 10,
			"currency": "CNY"
		},
		"out_trade_no": "20150806125346",
		"sub_mchid": "1230000109",
		"description": "腾讯充值中心-QQ会员充值"
	}],
	"combine_payer_info": {
		"openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
	},
	"time_start": "2019-12-31T15:59:59+08:00",
	"time_expire": "2019-12-31T16:59:59+08:00",
	"notify_url": "https://yourapp.com/notify"
}
 
    
{
JAVA示例代码
}
    

返回参数

参数名 变量 类型[长度限制] 必填 描述
预支付交易会话标识 prepay_id string[1,64] 数字和字母。微信生成的预支付会话标识,用于后续接口调用使用,该值有效期为2小时。
示例值:up_wx201410272009395522657a690389285100

返回示例


{
 "prepay_id": "up_wx201410272009395522657a690389285100"
}
                                

    http://2323weixin.qq.com
                                

错误码公共错误码

状态码 错误码 描述 解决方案
202 USERPAYING 用户支付中,需要输入密码 等待5秒,然后调用被扫订单结果查询API,查询当前订单的不同状态,决定下一步的操作
403 TRADE_ERROR 交易错误 因业务原因交易失败,请查看接口返回的详细信息
500 SYSTEMERROR 系统错误 系统异常,请用相同参数重新调用
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
403 RULELIMIT 业务规则限制 因业务规则限制请求频率,请查看接口返回的详细信息
400 PARAM_ERROR 参数错误 请根据接口返回的详细信息检查请求参数
403 OUT_TRADE_NO_USED 商户订单号重复 请核实商户订单号是否重复提交
404 ORDERNOTEXIST 订单不存在 请检查订单是否发起过交易
400 ORDER_CLOSED 订单已关闭 当前订单已关闭,请重新下单
500 OPENID_MISMATCH openid和appid不匹配 请确认openid和appid是否匹配
403 NOAUTH 商户无权限 请商户前往申请此接口相关权限
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
500 INVALID_TRANSACTIONID 订单号非法 请检查微信支付订单号是否正确
400 INVALID_REQUEST 无效请求 请根据接口返回的详细信息检查
429 FREQUENCY_LIMITED 频率超限 请降低请求接口频率
500 BANKERROR 银行系统异常 银行系统异常,请用相同参数重新调用
400 APPID_MCHID_NOT_MATCH appid和mch_id不匹配 请确认appid和mch_id是否匹配
403 ACCOUNTERROR 账号异常 用户账号异常,无需更多操作


版本说明

关闭
V1.0
2020.05.21
1. 合单下单-JS支付接口上线

技术咨询

文档反馈