合单下单-APP

更新时间:2024.11.28

通过本接口提交微信支付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)

【合单商户订单号】 商户系统内部订单号,可以是数字、大小写字母以及特殊符号_-*的任意组合,且在同一个商户号下唯一。


 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

【商品单信息】 商品单列表,最多支持商品单条数:50。

属性

 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)

【特约商户商户号】 特约商户商户号


 profit_sharing  选填   boolean

【是否指定分账】 存在settle_info时,以settle_info为准
true:是
false:否


 description  必填   string(127)

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


 settle_info  选填   object

【结算信息】 结算信息

属性

 profit_sharing  选填   boolean

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


 subsidy_amount  选填   integer

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

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


 sub_appid  选填   string(32)

【子商户绑定的Appid】 服务商模式下,sub_mchid对应的sub_appid


 goods_tag  选填   string(32)

【订单优惠标记】 订单优惠标记,使用代金券或立减优惠功能时需要的参数,说明详见代金券或立减优惠 


 combine_payer_info  选填   object

【支付者】 支付者信息,可以指定用户的实名信息,也可以指定用户的openid。

属性

 identity   选填   object

【实名支付】 实名支付信息

属性

 type  必填  string(32)

【证件类型】 IDCARD:身份证,目前只支持身份证。


 number  必填  string(1024)

【加密后的证件号】 加密后的证件号,该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


 name  必填  string(1024)

【加密后的姓名】 加密后的证件号,该字段需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


 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

【支付结束时间】

1、定义:支付结束时间是指用户能够完成该笔订单支付的最后时限,并非订单关闭的时间。超过此时间后,用户将无法对该笔订单进行支付。如商户需在超时后关闭订单,请调用合单关闭订单API接口。

2、格式要求:支付结束时间需遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONEyyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。

示例:2015-05-20T13:29:35+08:00 表示北京时间2015年5月20日13点29分35秒。

3、若未指定支付结束时间,系统默认以下单时间为起始点计算时效;超过 7 天未支付的订单,无法再支付。

4、注意事项:

  • 若当前实际时间已超过订单设置的支付结束时间(time_expire),建议先使用关单接口关闭订单,再使用新的商户订单号重新下单,生成全新订单供用户支付。

  • 支付结束时间不能早于下单时间后1分钟,若设置的支付结束时间早于该时间,系统将自动调整为下单时间后1分钟作为支付结束时间。

  • 传递的支付结束时间需在下单时间的7天以内,如超过7天,微信支付会自动将该时间调整为下单时间后的第7天。


 notify_url  必填   string(255)

【通知地址】 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。必须使用https协议。

请求示例

POST

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            "profit_sharing": false,
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        "identity": {
36            "name": "6B46824C852FA29AAC3DCE6BFD852E27",
37            "number": "6B46824C852FA29AAC3DCE6BFD852E27",
38            "type": "IDCARD"
39        }
40    },
41    "combine_payer_info": {
42        "identity": {
43            "name": "6B46824C852FA29AAC3DCE6BFD852E27",
44            "number": "6B46824C852FA29AAC3DCE6BFD852E27",
45            "type": "IDCARD"
46        },
47        "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
48    },
49    "time_start": "2000-01-01T00:00:00+08:00",
50    "time_expire": "2000-01-01T00:00:00+08:00",
51    "notify_url": "https://yourapp.com/notify"
52}'

应答参数

200 OK

 prepay_id  必填   string(64)

【预支付交易会话标识】 微信生成的预支付会话标识,数字和字母组成,用于后续接口调用使用。

应答示例

200 OK

1{
2  "prepay_id" : "wx201410272009395522657a690389285100"
3}
4

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

202

USER_PAYING

用户支付中,需要输入密码

等待5秒,然后调用被扫订单结果查询API,查询当前订单的不同状态,决定下一步的操作

400

APPID_MCHID_NOT_MATCH

AppID和mch_id不匹配

请确认AppID和mch_id是否匹配

400

INVALID_REQUEST

无效请求

请根据接口返回的详细信息检查

400

MCH_NOT_EXISTS

商户号不存在

请检查商户号是否正确

400

ORDER_CLOSED

订单已关闭

当前订单已关闭,请重新下单

401

SIGN_ERROR

签名错误

请检查签名参数和方法是否都符合签名算法要求

403

ACCOUNT_ERROR

账号异常

用户账号异常,无需更多操作

403

NO_AUTH

商户无权限

请商户前往申请此接口相关权限

403

OUT_TRADE_NO_USED

商户订单号重复

请核实商户订单号是否重复提交

403

RULE_LIMIT

业务规则限制

因业务规则限制请求频率,请查看接口返回的详细信息

403

TRADE_ERROR

交易错误

因业务原因交易失败,请查看接口返回的详细信息

404

ORDER_NOT_EXIST

订单不存在

请检查订单是否发起过交易

429

FREQUENCY_LIMITED

频率超限

请降低请求接口频率

500

BANK_ERROR

银行系统异常

银行系统异常,请用相同参数重新调用

500

INVALID_TRANSACTIONID

订单号非法

请检查微信支付订单号是否正确

500

OPENID_MISMATCH

OpenID和AppID不匹配

请确认OpenID和AppID是否匹配

500

SYSTEM_ERROR

系统错误

系统异常,请用相同参数重新调用

 

 

元宝AI
反馈
目录
置顶