合单支付中签约(APP)
更新时间:2024.11.13使用合单支付接口,用户只输入一次密码,即可完成多个订单的支付。目前最多一次可支持50笔订单进行合单支付。
订单如果需要进行抽佣等,需要在合单中指定需要进行分账(profit_sharing为true);指定后,交易资金进入二级商户账户,处于冻结状态,可在后续使用分账接口进行分账,利用分账完结进行资金解冻,实现抽佣和对二级商户的账期。
商户系统先通过预签约生成token或者用户免密签约后,再调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再按APP支付方式调起支付。
接口说明
支持商户:【平台商户】
请求方式:【POST】/v3/combine-transactions/app
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
请求参数
Header HTTP头参数
Authorization 必填 string
请参考签名认证生成认证信息
Accept 必填 string
请设置为application/json
Content-Type 必填 string
请设置为application/json
body 包体参数
combine_appid 必填 string(32)
【合单商户Appid】 合单发起方的Appid
combine_out_trade_no 必填 string(32)
【合单商户订单号】 合单支付总订单号,最短2个字符,最长32个字符,只能是数字、大小写字母_-|* ,且在同一个商户号下唯一
combine_mchid 必填 string(32)
【合单商户号】 合单发起方商户号
scene_info 选填 object
【场景信息】 场景信息
| 属性 | |
device_id 选填 string(16) 【商户端设备号】 终端设备号(门店号或收银设备ID) payer_client_ip 必填 string(45) 【用户终端IP】 用户端实际IP,支持IPv4和IPv6两种格式的IP地址。 |
sub_orders 必填 array[ReqSubOrderCompatible]
【子单信息】 子单列表。
| 属性 | |||||||||
mchid 必填 string(32) 【子单商户号】 子单发起方商户号,与发起方Appid有绑定关系 attach 必填 string(128) 【附加数据】 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。 amount 必填 object 【订单金额】 订单金额
out_trade_no 必填 string(32) 【子单商户订单号】 商户系统内部订单号,最短2个字符,最长32个字符,只能是数字、大小写字母_-|* ,且在同一个商户号下唯一。 sub_mchid 选填 string(32) 【二级商户号】 二级商户号 detail 选填 string(6000) 【商品详情】 商品详细描述 description 必填 string(127) 【商品描述】 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如 天天爱消除-游戏充值 settle_info 选填 object 【结算信息】 结算信息
sub_appid 选填 string 【二级商户绑定的Appid】 二级商户的appid goods_tag 选填 string(32) 【订单优惠标记】 订单优惠标记,使用代金券或立减优惠功能时需要的参数,说明详见代金券或立减优惠 |
combine_payer_info 选填 object
【支付者】 支付者信息
| 属性 | |
openid 选填 string(128) 【用户标识】 使用合单Appid获取的对应用户Openid。是用户在商户Appid下的唯一标识。 |
contract_info 选填 object
【预签约信息】预签约信息
| 属性 | |
mchid 必填 string(32) 【签约商户号】 进行签约的商户号,目前只支持由合单发起商户签约,必须跟合单发起商户号一致。 appid 必填 string(32) 【签约商户AppID】 进行签约的商户的AppID。 out_contract_code 必填 string(32) 【签约商户协议号】 商户侧的签约协议号,由商户生成,只能是数字、大小写字母的描述。 plan_id 必填 integer 【委托代扣协议模板ID】 已经通过审核,且生效中的委托代扣模板ID。 contract_display_account 必填 string(32) 【用户账户展示名称】 签约用户的名称,用于页面展示,参数值不支持UTF8非3字节编码的字符,例如表情符号,所以请勿传微信昵称到该字段。 notify_url 必填 string(256) 【回调通知地址】 接收微信支付签约结果(不包括支付结果)通知回调地址,通知URL必须为直接可访问的URL,不能携带参数。必须使用https协议。 |
time_start 选填 string
【交易起始时间】 订单生效时间,按照rfc3339格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)如 2018-06-08T10:34:56+08:00 代表,北京时间2018年06月08日10时34分56秒。
time_expire 选填 string
【交易结束时间】 订单失效时间,按照rfc3339格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)如 2018-06-08T10:34:56+08:00 代表,北京时间2018年06月08日10时34分56秒。
notify_url 必填 string(255)
【通知地址】 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。必须使用https协议。
请求示例
应答参数
prepay_id 必填 string(64)
【预支付交易会话标识】 微信生成的预支付会话标识,数字和字母组成,用于后续接口调用使用,该值有效期为2小时。
contract_result 选填 object
【预签约信息】预签约信息
| 属性 | |
code 必填 string(16) 【签约结果码】 预签约结果。 message 选填 string(32) 【签约结果描述信息】 预签约失败时返回,预签约结果的描述。 |
应答示例
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
400 | APPID_MCHID_NOT_MATCH | AppID和mch_id不匹配 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请确认AppID和mch_id是否匹配 |
400 | MCH_NOT_EXISTS | 商户号不存在 | 请检查商户号是否正确 |
400 | ORDER_CLOSED | 订单已关闭 | 当前订单已关闭,请重新下单 |
403 | NOAUTH | 商户无权限 | 请商户前往申请此接口相关权限 |
403 | RULELIMIT | 业务规则限制 | 因业务规则限制请求频率,请查看接口返回的详细信息 |
429 | FREQUENCY_LIMITED | 频率超限 | 请降低请求接口频率 |
500 | OPENID_MISMATCH | OpenID和AppID不匹配 | 请确认OpenID和AppID是否匹配 |

