---
url: "https://pay.weixin.qq.com/doc/v2/partner/4011941377.md"
title: "统一下单"
doc_id: 4011941377
---

>更新时间：2025.12.18

## 应用场景

服务商系统先调用该接口在微信支付服务后台生成预支付交易单，返回正确的预支付交易会话标识后再返回给子商户在APP里面调起支付。

## 接口链接

URL地址：https://api.mch.weixin.qq.com/pay/unifiedorder

## 是否需要证书

不需要

## 请求参数

| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
| :-- | :-- | :-- | :-- | :-- | :-- |
| 服务商的APPID | appid | 是 | String(32) | wxd678efh567hg6787 | 服务商商户的APPID |
| 商户号 | mch\_id | 是 | String(32) | 1230000109 | 服务商商户的商户号 |
| 子商户应用ID | sub\_appid | 否 | String(32) | wx8888888888888888 | 特约商户在微信开放平台上申请的APPID |
| 子商户号 | sub\_mch\_id | 是 | String(32) | 1900000109 | 特约商户的商户号 |
| 设备号 | device\_info | 否 | String(32) | 013467007045764 | 终端设备号(门店号或收银设备ID)，默认请传"WEB" |
| 随机字符串 | nonce\_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串，不长于32位。推荐[随机数生成算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md) |
| 签名 | sign | 是 | String(64) | C380BEC2BFD727A4B6845133519F3AD6 | 服务商生成的签名，规则详见[签名生成算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md) |
| 商品描述 | body | 是 | String(127) | Ipad mini  16G  白色 | 商品或支付单简要描述 |
| 商品详情 | detail | 否 | String(6144) | Ipad mini  16G  白色 | 商品名称明细列表 |
| 附加数据 | attach | 否 | String(127) | 深圳分店 | 附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据 |
| 总金额 | total\_fee | 是 | int | 888 | 订单总金额，单位为分，详见[支付金额](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md) |
| 终端IP | spbill\_create\_ip | 是 | String(64) | 123.12.12.123 | 支持IPV4和IPV6两种格式的IP地址。调用微信支付API的机器IP |
| 交易起始时间 | time\_start | 否 | String(14) | 20091225091010 | 订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见[时间规则](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md) |
| 交易结束时间 | time\_expire | 否 | String(14) | 20091227091010 | 订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见[时间规则](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md) |
| 订单优惠标记 | goods\_tag | 否 | String(32) | WXG | 商品标记，代金券或立减优惠功能的参数，说明详见[代金券或立减优惠](https://pay.weixin.qq.com/doc/v3/partner/4012087800.md) |
| 通知地址 | notify\_url | 是 | String(256) | https://www.weixin.qq.com/wxpay/pay.php | 接收微信支付异步通知回调地址，通知url必须为直接可访问的url，不能携带参数。公网域名必须为https，如果是走专线接入，使用专线NAT IP或者私有回调域名可使用http。 |
| 交易类型 | trade\_type | 是 | String(16) | APP | 支付类型 |
| 开发票入口开放标识 | receipt | 否 | String(8) | Y | Y，传入Y时，支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能，传此字段才可生效 |
| 是否需要分账 | profit\_sharing | 否 | String(16) | Y | Y-是，需要分账<br>N-否，不分账<br>字母要求大写，不传默认不分账 |
| 场景信息 | scene\_info | 否 | String(256) | {"store\_info" : {<br>"id": "SZTX001",<br>"name": "腾大餐厅",<br>"area\_code": "440305",<br>"address": "科技园中一路腾讯大厦" }} | 该字段常用于线下活动时的场景信息上报，支持上报实际门店信息，商户也可以按需求自己上报相关信息。该字段为JSON对象数据，对象格式为{"store\_info":{"id": "门店ID","name": "名称","area\_code": "编码","address": "地址" }} ，字段详细说明请点击下行的>展开 |
| 门店id | id | 是 | String(32) | SZTX001 | 门店编号，由商户自定义 |
| 门店名称 | name | 否 | String(64) | 腾讯大厦腾大餐厅 | 门店名称 ，由商户自定义 |
| 门店行政区划码 | area\_code | 否 | String(6) | 440305 | 门店所在地行政区划码，详细见[最新县及县以上行政区划代码.csv](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/attachment/17a9438011c67265a06eb7f914fd0305/最新县及县以上行政区划代码.csv) |
| 门店详细地址 | address | 否 | String(128) | 科技园中一路腾讯大厦 | 门店详细地址 ，由商户自定义 |

举例如下：

```
<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <attach>支付测试</attach>
   <body>APP支付测试</body>
   <mch_id>10000100</mch_id>
   <sub_appid>wx8888888888888888</sub_appid>
   <sub_mch_id>10000101</sub_mch_id>
   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
   <notify_url>https://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
   <out_trade_no>1415659990</out_trade_no>
   <spbill_create_ip>14.23.150.211</spbill_create_ip>
   <total_fee>1</total_fee>
   <trade_type>APP</trade_type>
   <sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>
```

注：参数值用XML转义即可，CDATA标签用于说明数据不被XML解析器解析。

## 返回结果

| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
| --- | --- | --- | --- | --- | --- |
| 返回状态码 | return\_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL<br>此字段是通信标识，非交易标识，交易是否成功需要查看result\_code来判断 |
| 返回信息 | return\_msg | 否 | String(128) | 签名失败 | 返回信息，如非空，为错误原因，例如：签名失败、参数格式校验错误 |

以下字段在return\_code为SUCCESS的时候有返回

| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
| --- | --- | --- | --- | --- | --- |
| 服务商的APPID | appid | 是 | String(32) | wx8888888888888888 | 服务商商户的APPID |
| 商户号 | mch\_id | 是 | String(32) | 1900000109 | 调用接口提交的商户号 |
| 子商户应用ID | sub\_appid | 否 | String(32) | wx8888888888888888 | 子商户在微信开放平台上申请的APPID |
| 子商户号 | sub\_mch\_id | 是 | String(32) | 1900000109 | 子商户的商户号 |
| 设备号 | device\_info | 否 | String(32) | 013467007045764 | 调用接口提交的终端设备号， |
| 随机字符串 | nonce\_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 微信返回的随机字符串 |
| 签名 | sign | 是 | String(64) | C380BEC2BFD727A4B6845133519F3AD6 | 微信返回的签名，详见[签名算法](https://pay.weixin.qq.com/doc/v2/partner/4011985884.md) |
| 业务结果 | result\_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
| 错误代码 | err\_code | 否 | String(32) | SYSTEMERROR | 详细参见第6节错误列表 |
| 错误代码描述 | err\_code\_des | 否 | String(128) | 系统错误 | 错误返回的信息描述 |

以下字段在return\_code 和result\_code都为SUCCESS的时候有返回

| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
| --- | --- | --- | --- | --- | --- |
| 交易类型 | trade\_type | 是 | String(16) | JSAPI | 调用接口提交的交易类型，取值如下：JSAPI，NATIVE，APP，详细说明见[参数规定](https://pay.weixin.qq.com/doc/v2/partner/4011941200.md) |
| 预支付交易会话标识 | prepay\_id | 是 | String(64) | wx201410272009395522657a690389285100 | 微信生成的预支付会话标识，用于后续接口调用中使用，该值有效期为2小时,针对H5支付此参数无特殊用途 |

举例如下：

```
<xml>
   <return_code><![CDATA[SUCCESS]]></return_code>
   <return_msg><![CDATA[OK]]></return_msg>
   <appid><![CDATA[wx8888888888888888]]></appid>
   <mch_id><![CDATA[10000100]]></mch_id>
   <sub_appid><![CDATA[wx2421b1c4370ec43c]]></sub_appid>
   <sub_mch_id><![CDATA[10000101]]></sub_mch_id>
   <nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
   <sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
   <result_code><![CDATA[SUCCESS]]></result_code>
   <prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
   <trade_type><![CDATA[APP]]></trade_type>
</xml>
```

## 错误码

| 名称 | 描述 | 原因 | 解决方案 |
| --- | --- | --- | --- |
| INVALID\_REQUEST | 参数错误 | 参数格式有误或者未按规则上传 | 订单重入时，要求参数值与原请求一致，请确认参数问题 |
| NOAUTH | 商户无此接口权限 | 商户未开通此接口权限 | 请商户前往申请此接口权限 |
| ORDERPAID | 商户订单已支付 | 商户订单已支付，无需重复操作 | 商户订单已支付，无需更多操作 |
| ORDERCLOSED | 订单已关闭 | 当前订单已关闭，无法支付 | 当前订单已关闭，请重新下单 |
| SYSTEMERROR | 系统错误 | 系统超时 | 系统异常，请用相同参数重新调用 |
| APPID\_NOT\_EXIST | APPID不存在 | 参数中缺少APPID | 请检查APPID是否正确 |
| MCHID\_NOT\_EXIST | MCHID不存在 | 参数中缺少MCHID | 请检查MCHID是否正确 |
| APPID\_MCHID\_NOT\_MATCH | appid和mch\_id不匹配 | appid和mch\_id不匹配 | 请确认appid和mch\_id是否匹配 |
| LACK\_PARAMS | 缺少参数 | 缺少必要的请求参数 | 请检查参数是否齐全 |
| OUT\_TRADE\_NO\_USED | 商户订单号重复 | 同一笔交易不能多次提交 | 请核实商户订单号是否重复提交 |
| SIGNERROR | 签名错误 | 参数签名结果不正确 | 请检查签名参数和方法是否都符合签名算法要求 |
| XML\_FORMAT\_ERROR | XML格式错误 | XML格式错误 | 请检查XML参数格式是否正确 |
| REQUIRE\_POST\_METHOD | 请使用post方法 | 未使用post传递参数 | 请检查请求参数是否通过post方法提交 |
| POST\_DATA\_EMPTY | post数据为空 | post数据不能为空 | 请检查post数据是否为空 |
| NOT\_UTF8 | 编码格式错误 | 未使用指定编码格式 | 请使用UTF-8编码格式 |