合单支付中签约(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地址。
IP获取请参考获取用户IP指引


 sub_orders  必填   array[ReqSubOrderCompatible]

【子单信息】 子单列表。

属性

 mchid  必填   string(32)

【子单商户号】 子单发起方商户号,与发起方Appid有绑定关系


 attach  必填   string(128)

【附加数据】 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。


 amount  必填   object

【订单金额】 订单金额

属性

 total_amount  必填   integer

【标价金额】 子单金额,单位为分


 currency  必填   string(8)

【标价币种】 符合ISO 4217标准的三位字母代码,人民币:CNY


 out_trade_no  必填   string(32)

【子单商户订单号】  商户系统内部订单号,最短2个字符,最长32个字符,只能是数字、大小写字母_-|* ,且在同一个商户号下唯一。


 sub_mchid  选填   string(32)

【二级商户号】 二级商户号


 detail  选填   string(6000)

【商品详情】 商品详细描述


 description  必填   string(127)

【商品描述】 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如 天天爱消除-游戏充值


 settle_info  选填   object

【结算信息】 结算信息

属性

 profit_sharing  选填   boolean

【是否指定分账】 是否指定分账 (枚举值 true:是 false:否)


 subsidy_amount  选填   integer

【补差金额】 SettleInfo.profit_sharing为true时,该金额才生效。

注意:单笔订单最高补差金额为5000元。


 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协议。

请求示例

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/combine-transactions/app \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "combine_appid" : "wxd678efh567hg6787",
8    "combine_out_trade_no" : "20150806125346",
9    "combine_mchid" : "1900000109",
10    "scene_info" : {
11      "device_id" : "POS1:1",
12      "payer_client_ip" : "14.17.22.32"
13    },
14    "sub_orders" : [
15      {
16        "mchid" : "1230000109",
17        "attach" : "深圳分店",
18        "amount" : {
19          "total_amount" : 10,
20          "currency" : "CNY"
21        },
22        "out_trade_no" : "20150806125346",
23        "sub_mchid" : "1900000109",
24        "detail" : "买单费用",
25        "description" : "腾讯充值中心-QQ会员充值",
26        "settle_info" : {
27          "profit_sharing" : false,
28          "subsidy_amount" : 10
29        },
30        "sub_appid" : "wxd678efh567hg6999",
31        "goods_tag" : "WXG"
32      }
33    ],
34    "combine_payer_info" : {
35      "openid" : "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
36    },
37    "contract_info": {
38      "appid": "wxd678efh567hg6787",
39      "contract_display_account": "微信代扣用户A",
40      "mchid": "1900000109",
41      "notify_url": "https://yourapp.com/notify",
42      "out_contract_code": "wxwtdk20200910100000",
43      "plan_id": 12535
44    },
45    "time_start" : "2000-01-01T00:00:00+08:00",
46    "time_expire" : "2000-01-01T00:00:00+08:00",
47    "notify_url" : "https://yourapp.com/notify"
48  }'
49

应答参数
折叠全部参数

 prepay_id  必填   string(64)

【预支付交易会话标识】 微信生成的预支付会话标识,数字和字母组成,用于后续接口调用使用,该值有效期为2小时。


 contract_result  选填   object

【预签约信息】预签约信息

属性

 code  必填   string(16)

【签约结果码】 预签约结果。


 message  选填   string(32)

【签约结果描述信息】 预签约失败时返回,预签约结果的描述。

应答示例

1{
2  "prepay_id" : "wx201410272009395522657a690389285100",
3  "contract_result": {
4    "code": "INVALID_REQUEST",
5    "message": "当前签约协议号已经进行签约"
6  }
7}
8

 

错误码

公共错误码

状态码

错误码

描述

解决方案

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是否匹配

 

 

元宝AI
反馈
目录
置顶