合单下单-H5

更新时间:2024.11.28

通过本接口提交微信支付H5支付订单。

注意

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/combine-transactions/h5

请求域名:【主域名】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)

【商户端设备号】 商户端设备号


 payer_client_ip  必填   string(45)

【用户终端IP】 用户端实际IP,支持IPv4和IPv6两种格式的IP地址。
IP获取请参考获取用户IP指引


 h5_info  选填   object

【H5场景信息】 H5场景信息

属性

 type  必填   string(32)

【场景类型】 场景类型


 app_name  选填   string(64)

【应用名称】 应用名称


 app_url  选填   string(128)

【网站URL】 网站URL


 bundle_id  选填   string(128)

【iOS平台BundleID】 iOS平台BundleID


 package_name  选填   string(128)

【Android平台PackageName】 Android平台PackageName


 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)

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


 description  必填   string(127)

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


 settle_info  选填   object

【结算信息】 结算信息

属性

 profit_sharing  选填   boolean

【是否指定分账】 是否分账
true:是
false:否


 subsidy_amount  选填   integer

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


 sub_appid  选填   string

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


 goods_tag  选填   string(32)

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


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


 combine_payer_info  选填   object

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

属性

 openid  选填   string(128)

【用户标识】 使用合单Appid获取的对应用户Openid。是用户在商户Appid下的唯一标识。


 identity   选填   object

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

属性

 type  必填  string(32)

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


 number  必填  string(1024)

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


 name  必填  string(1024)

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

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/combine-transactions/h5 \
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" : "1217752501201407033233368018",
9    "combine_mchid" : "1230000109",
10    "scene_info" : {
11      "device_id" : "013467007045764",
12      "payer_client_ip" : "14.23.150.211",
13      "h5_info" : {
14        "type" : "iOS",
15        "app_name" : "王者荣耀",
16        "app_url" : "https://pay.qq.com",
17        "bundle_id" : "com.tencent.wzryiOS",
18        "package_name" : "com.tencent.tmgp.sgame"
19      }
20    },
21    "sub_orders" : [
22      {
23        "mchid" : "1230000109",
24        "attach" : "深圳分店",
25        "amount" : {
26          "total_amount" : 10,
27          "currency" : "CNY"
28        },
29        "out_trade_no" : "20150806125346",
30        "sub_mchid" : "1900000109",
31        "description" : "腾讯充值中心-QQ会员充值",
32        "settle_info" : {
33          "profit_sharing" : false,
34          "subsidy_amount" : 10
35        },
36        "sub_appid" : "wxd678efh567hg6999",
37        "goods_tag" : "WXG"
38      }
39    ],
40    "combine_payer_info": {
41        "identity": {
42            "name": "6B46824C852FA29AAC3DCE6BFD852E27",
43            "number": "6B46824C852FA29AAC3DCE6BFD852E27",
44            "type": "IDCARD"
45        },
46        "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
47    },
48    "time_start" : "2018-06-08T10:34:56+08:00",
49    "time_expire" : "2018-06-08T10:34:56+08:00",
50    "notify_url" : "https://yourapp.com/notify"
51  }'
52

应答参数

200 OK

 h5_url  必填   string(512)

【支付跳转链接】 支付跳转链接,链接有效期为5分钟。

注意:微信支付会根据业务实际情况,调整支付跳转链接的长度和参数数量,因此该参数严禁篡改、拆分或截断。若需支付后跳转到指定页面,仅可在参数后拼接“redirect_url”参数来指定回调页面,参考示例:支付后返回指定页面,禁止再拼接其他任何参数。

应答示例

200 OK

1{
2  "h5_url" : "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx2016121516420242444321ca0631331346&package=1405458241"
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
反馈
目录
置顶