H5统一下单
更新时间:2025.03.21通过本接口提交微信支付H5支付订单。
1. 接口说明
适用对象:直连模式机构模式
请求URL: https://apihk.mch.weixin.qq.com/v3/global/transactions/mweb
请求方式: POST
Path 指该参数为路径参数
Query 指该参数为URL参数
Body 指该参数需在请求JSON传参
2. 请求参数
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 | |||
---|---|---|---|---|---|---|---|
商户号 | mchid | string[1, 32] | 是 | Body 微信支付分配的商户号 | |||
APPID | appid | string[1, 32] | 是 | Body 商户在微信公众平台或开放平台生成的应用的APPID。求统一下单接口时请注意APPID的应用属性,例如公众号场景下,需使用应用属性为公众号的APPID。 | |||
子商户号 | sub_mchid | string[1, 32] | 是 | Body 微信支付分配的子商户号 | |||
机构商户号 | sp_mchid | string[1, 32] | 是 | Body 微信支付分配的机构商户号 | |||
机构APPID | sp_appid | string[1, 32] | 是 | Body 机构在微信公众平台申请服务号对应的APPID | |||
子商户APPID | sub_appid | string[1, 32] | 否 | Body 商户在微信开放平台申请移动应用对应的APPID | |||
商品描述 | description | string[1, 127] | 是 | Body 商品或支付单简要描述,格式要求:门店品牌名-城市分店名-实际商品名称 | |||
商户数据 | attach | string[1, 127] | 否 | Body 附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 | |||
通知地址 | notify_url | string[1,256] | 是 | Body 异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。请使用https协议链接 | |||
商户订单号 | out_trade_no | string[1, 32] | 是 | Body 商户系统内部的订单号,32个字符内、可包含字母;重新下单时请更换单号,其他说明见商户订单号 | |||
商品标记 | goods_tag | string[1, 32] | 否 | Body 商品标记 | |||
交易类型 | trade_type | string[1, 16] | 是 | Body JSAPI:公众号支付 | |||
指定支付方式 | limit_pay | string[1, 32] | 否 | Body no_credit:指定不能使用信用卡支付 | |||
交易起始时间 | time_start | string[1,64] | 否 | Body 订单生成时间,格式为rfc3339格式,如2018-06-08T10:34:56+08:00 代表北京时间2018年06月08日10时34分56秒 | |||
交易结束时间 | time_expire | string[1,64] | 否 | Body 订单失效时间,格式为rfc3339格式,如2018-06-08T10:34:56+08:00 代表北京时间2018年06月08日10时34分56秒。 | |||
MCC码 | merchant_category_code | string[1, 16] | 是 | Body 商户行业编码,值列表详见商户行业编码 | |||
支付者 | payer | object | 否 | Body 支付者信息,详细说明见下文 | |||
| |||||||
订单金额 | amount | object | 是 | Body 订单金额信息,详细说明见下文 | |||
| |||||||
场景信息 | scene_info | object | 是 | Body 场景信息对象,详细说明见下文 | |||
| |||||||
优惠功能 | detail | object | 否 | Body 优惠功能信息,详细说明见下文 | |||
|
请求示例
机构模式
直连模式
3. 返回参数
正常返回
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
支付跳转链接 | mweb_url | string[1,512] | 是 | mweb_url为拉起微信支付收银台的中间页面,可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。 |
异常返回
参数名 | 变量 | 类型[长度限制] | 必填 | 描述 | |||
---|---|---|---|---|---|---|---|
返回状态码 | code | string[1, 32] | 是 | 错误码,枚举值见错误码列表 | |||
返回信息 | message | string[1, 256] | 是 | 返回信息,如非空,为错误原因 | |||
详细的错误描述 | detail | object | 否 | 当code为PARAM_ERROR时返回,详细说明见下 | |||
|
返回示例
正常示例
4. 错误码
错误码 | 描述 | 解决方案 |
---|---|---|
NO_AUTH | 商户无此接口权限 | 请商户前往申请此接口权限 |
NOT_ENOUGH | 余额不足 | 用户账号余额不足,请用户充值或更换支付卡后再支付 |
ORDER_PAID | 商户订单已支付 | 商户订单已支付,无需更多操作 |
ORDER_CLOSED | 订单已关闭 | 当前订单已关闭,请重新下单 |
SYSTEM_ERROR | 系统错误 | 系统异常,请用相同参数重新调用 |
APPID_NOT_EXIST | APPID不存在 | 请检查APPID是否正确 |
MCHID_NOT_EXIST | MchID不存在 | 请检查MchID是否正确 |
APPID_MCHID_NOT_MATCH | appid和mchid不匹配 | 请确认appid和mchid是否匹配 |
LACK_PARAMS | 缺少参数 | 请检查参数是否齐全 |
OUT_TRADE_NO_USED | 商户订单号重复 | 请核实商户订单号是否重复提交 |
SIGN_ERROR | 签名错误 | 请检查签名参数和方法是否都符合签名算法要求 |
REQUIRE_POST_METHOD | 请使用post方法 | 请检查请求参数是否通过post方法提交 |
POST_DATA_EMPTY | post数据为空 | 请检查post数据是否为空 |
NOT_UTF8 | 编码格式错误 | 请使用UTF-8编码格式 |