基础支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合单支付
付款码支付
经营能力
微信支付分(免确认模式)
微信支付分(免确认预授权模式)
微信支付分(需确认模式)
微信支付分(公共API)
微信先享卡
支付即服务
行业方案
智慧商圈
营销工具
代金券
商家券
委托营销
消费卡
支付有礼
小程序发券插件
H5发券
图片上传(营销专用)
现金红包
资金应用
付款
分账
风险合规
消费者投诉2.0
其他能力
清关报关
图片上传
视频上传

合单JSAPI下单API

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


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

接口说明

适用对象: 直连商户

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

请求方式:POST


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

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)
示例值:14.17.22.32
+子单信息 sub_orders array body 最多支持子单条数:10
参数名 变量 类型[长度限制] 必填 描述
子单商户号 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
商品描述 description string[1,127] 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如:天天爱消除-游戏充值。
示例值:腾讯充值中心-QQ会员充值
+结算信息 settle_info Object 结算信息
参数名 变量 类型[长度限制] 必填 描述
是否指定分账 profit_sharing bool 是否指定分账,枚举值:
true:是
false:否
示例值:true
补差金额 subsidy_amount int64 SettleInfo.profit_sharing为true时,该金额才生效。
注意:单笔订单最高补差金额为5000元
示例值:10
+支付者 combine_payer_info object body 支付者信息
参数名 变量 类型[长度限制] 必填 描述
用户标识 openid string[1,128] 使用合单appid获取的对应用户openid。是用户在商户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秒。
示例值: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表示东八区时间,领先UTC 8小时,即北京时间)。例如: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": "1900000119",
		"attach": "深圳分店",
		"amount": {
			"total_amount": 10,
			"currency": "CNY"
		},
		"out_trade_no": "20150806125346",
		"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小时。
示例值:wx201410272009395522657a690389285100

返回示例


{
 "prepay_id": "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 NOTENOUGH 余额不足 用户账号余额不足,请用户充值或更换支付卡后再支付
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支付接口上线

文档调研

技术咨询

反馈有奖