创建支付订单说明
<h3>请求参数</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>公众账号ID</td>
<td>appid</td>
<td>是</td>
<td>String(32)</td>
<td>wxd678efh567hg6787</td>
<td>微信支付分配的公众账号ID(企业号corpid即为此appId)</td>
</tr>
<tr>
<td>商户号</td>
<td>mch_id</td>
<td>是</td>
<td>String(32)</td>
<td>1230000109</td>
<td>微信支付分配的商户号</td>
</tr>
<tr>
<td>设备号</td>
<td>device_info</td>
<td>否</td>
<td>String(32)</td>
<td>013467007045764</td>
<td>自定义参数,可以为终端设备号(门店号或收银设备ID),PC网页或公众号内支付可以传"WEB"</td>
</tr>
<tr>
<td>随机字符串</td>
<td>nonce_str</td>
<td>是</td>
<td>String(32)</td>
<td>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</td>
<td>随机字符串,长度要求在32位以内。推荐<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_3">随机数生成算法</a></td>
</tr>
<tr>
<td>签名</td>
<td>sign</td>
<td>是</td>
<td>String(32)</td>
<td>C380BEC2BFD727A4B6845133519F3AD6</td>
<td>通过签名算法计算得出的签名值,详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_3">签名生成算法</a></td>
</tr>
<tr>
<td>签名类型</td>
<td>sign_type</td>
<td>否</td>
<td>String(32)</td>
<td>MD5</td>
<td>签名类型,默认为MD5,支持HMAC-SHA256和MD5。</td>
</tr>
<tr>
<td>商品描述</td>
<td>body</td>
<td>是</td>
<td>String(128)</td>
<td>腾讯充值中心-QQ会员充值</td>
<td>商品简单描述,该字段请按照规范传递,具体请见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">参数规定</a></td>
</tr>
<tr>
<td>商品详情</td>
<td>detail</td>
<td>否</td>
<td>String(6000)</td>
<td></td>
<td>商品详细描述,对于使用单品优惠的商户,该字段必须按照规范上传,详见<a href="https://pay.weixin.qq.com/wiki/doc/api/danpin.php?chapter=9_102&index=2">“单品优惠参数说明”</a></td>
</tr>
<tr>
<td>附加数据</td>
<td>attach</td>
<td>否</td>
<td>String(127)</td>
<td>深圳分店</td>
<td>附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。</td>
</tr>
<tr>
<td>商户订单号</td>
<td>out_trade_no</td>
<td>是</td>
<td>String(32)</td>
<td>20150806125346</td>
<td>商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">商户订单号</a></td>
</tr>
<tr>
<td>标价币种</td>
<td>fee_type</td>
<td>否</td>
<td>String(16)</td>
<td>CNY</td>
<td>符合ISO 4217标准的三位字母代码,默认人民币:CNY,详细列表请参见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">货币类型</a></td>
</tr>
<tr>
<td>标价金额</td>
<td>total_fee</td>
<td>是</td>
<td>Int</td>
<td>88</td>
<td>订单总金额,单位为分,详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">支付金额</a></td>
</tr>
<tr>
<td>终端IP</td>
<td>spbill_create_ip</td>
<td>是</td>
<td>String(64)</td>
<td>123.12.12.123</td>
<td>支持IPV4和IPV6两种格式的IP地址。用户的客户端IP</td>
</tr>
<tr>
<td>交易起始时间</td>
<td>time_start</td>
<td>否</td>
<td>String(14)</td>
<td>20091225091010</td>
<td>订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">时间规则</a></td>
</tr>
<tr>
<td>交易结束时间</td>
<td>time_expire</td>
<td>否</td>
<td>String(14)</td>
<td>20091227091010</td>
<td>订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。订单失效时间是针对订单号而言的,由于在请求支付的时候有一个必传参数prepay_id只有两小时的有效期,所以在重入时间超过2小时的时候需要重新请求下单接口获取新的prepay_id。其他详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">时间规则</a> time_expire只能第一次下单传值,不允许二次修改,二次修改系统将报错。如用户支付失败后,需再次支付,需更换原订单号重新下单。 建议:最短失效时间间隔大于1分钟</td>
</tr>
<tr>
<td>订单优惠标记</td>
<td>goods_tag</td>
<td>否</td>
<td>String(32)</td>
<td>WXG</td>
<td>订单优惠标记,使用代金券或立减优惠功能时需要的参数,说明详见<a href="https://pay.weixin.qq.com/wiki/doc/api/tools/sp_coupon.php?chapter=12_7&index=3">代金券或立减优惠</a></td>
</tr>
<tr>
<td>通知地址</td>
<td>notify_url</td>
<td>是</td>
<td>String(256)</td>
<td><a href="http://www.weixin.qq.com/wxpay/pay.php">http://www.weixin.qq.com/wxpay/pay.php</a></td>
<td>异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。</td>
</tr>
<tr>
<td>交易类型</td>
<td>trade_type</td>
<td>是</td>
<td>String(16)</td>
<td>JSAPI</td>
<td>JSAPI -JSAPI支付 NATIVE -Native支付 APP -APP支付 说明详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">参数规定</a></td>
</tr>
<tr>
<td>商品ID</td>
<td>product_id</td>
<td>否</td>
<td>String(32)</td>
<td>12235413214070356458058</td>
<td>trade_type=NATIVE时,此参数必传。此参数为二维码中包含的商品ID,商户自行定义。</td>
</tr>
<tr>
<td>指定支付方式</td>
<td>limit_pay</td>
<td>否</td>
<td>String(32)</td>
<td>no_credit</td>
<td>上传此参数no_credit--可限制用户不能使用信用卡支付</td>
</tr>
<tr>
<td>用户标识</td>
<td>openid</td>
<td>否</td>
<td>String(128)</td>
<td>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</td>
<td>trade_type=JSAPI时(即JSAPI支付),此参数必传,此参数为微信用户在商户对应appid下的唯一标识。openid如何获取,可参考【<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_4">获取openid</a>】。企业号请使用【<a href="http://qydev.weixin.qq.com/wiki/index.php?title=OAuth验证接口">企业号OAuth2.0接口</a>】获取企业号内成员userid,再调用【<a href="http://qydev.weixin.qq.com/wiki/index.php?title=Userid与openid互换接口">企业号userid转openid接口</a>】进行转换</td>
</tr>
<tr>
<td>电子发票入口开放标识</td>
<td>receipt</td>
<td>否</td>
<td>String(8)</td>
<td>Y</td>
<td>Y,传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效</td>
</tr>
<tr>
<td>+场景信息</td>
<td>scene_info</td>
<td>否</td>
<td>String(256)</td>
<td>{"store_info" : { "id": "SZTX001", "name": "腾大餐厅", "area_code": "440305", "address": "科技园中一路腾讯大厦" }}</td>
<td>该字段常用于线下活动时的场景信息上报,支持上报实际门店信息,商户也可以按需求自己上报相关信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} ,字段详细说明请点击行前的+展开</td>
</tr>
</tbody>
</table>
<p>举例如下:</p>
<pre><code class="language-xml"><xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付测试</attach>
<body>JSAPI支付测试</body>
<mch_id>10000100</mch_id>
<detail>
<![CDATA[{ "goods_detail":[ { "goods_id":"iphone6s_16G", "wxpay_goods_id":"1001", "goods_name":"iPhone6s 16G", "quantity":1, "price":528800, "goods_category":"123456", "body":"苹果手机" }, { "goods_id":"iphone6s_32G", "wxpay_goods_id":"1002", "goods_name":"iPhone6s 32G", "quantity":1, "price":608800, "goods_category":"123789", "body":"苹果手机" } ] }]]>
</detail>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
<openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
<out_trade_no>1415659990</out_trade_no>
<spbill_create_ip>14.23.150.211</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
<sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml></code></pre>
<h3>返回结果</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>返回状态码</td>
<td>return_code</td>
<td>是</td>
<td>String(16)</td>
<td>SUCCESS</td>
<td>SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断</td>
</tr>
<tr>
<td>返回信息</td>
<td>return_msg</td>
<td>是</td>
<td>String(128)</td>
<td>OK</td>
<td>当return_code为FAIL时返回信息为错误原因 ,例如 签名失败 参数格式校验错误</td>
</tr>
</tbody>
</table>
<p>以下字段在return_code为SUCCESS的时候有返回 </p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>公众账号ID</td>
<td>appid</td>
<td>是</td>
<td>String(32)</td>
<td>wx8888888888888888</td>
<td>调用接口提交的公众账号ID</td>
</tr>
<tr>
<td>商户号</td>
<td>mch_id</td>
<td>是</td>
<td>String(32)</td>
<td>1900000109</td>
<td>调用接口提交的商户号</td>
</tr>
<tr>
<td>设备号</td>
<td>device_info</td>
<td>否</td>
<td>String(32)</td>
<td>013467007045764</td>
<td>自定义参数,可以为请求支付的终端设备号等</td>
</tr>
<tr>
<td>随机字符串</td>
<td>nonce_str</td>
<td>是</td>
<td>String(32)</td>
<td>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</td>
<td>微信返回的随机字符串</td>
</tr>
<tr>
<td>签名</td>
<td>sign</td>
<td>是</td>
<td>String(32)</td>
<td>C380BEC2BFD727A4B6845133519F3AD6</td>
<td>微信返回的签名值,详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_3">签名算法</a></td>
</tr>
<tr>
<td>业务结果</td>
<td>result_code</td>
<td>是</td>
<td>String(16)</td>
<td>SUCCESS</td>
<td>SUCCESS/FAIL</td>
</tr>
<tr>
<td>错误代码</td>
<td>err_code</td>
<td>否</td>
<td>String(32)</td>
<td></td>
<td>当result_code为FAIL时返回错误代码,详细参见下文错误列表</td>
</tr>
<tr>
<td>错误代码描述</td>
<td>err_code_des</td>
<td>否</td>
<td>String(128)</td>
<td></td>
<td>当result_code为FAIL时返回错误描述,详细参见下文错误列表</td>
</tr>
</tbody>
</table>
<p>以下字段在return_code 和result_code都为SUCCESS的时候有返回 </p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>必填</th>
<th>类型</th>
<th>示例值</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>交易类型</td>
<td>trade_type</td>
<td>是</td>
<td>String(16)</td>
<td>JSAPI</td>
<td>JSAPI -JSAPI支付 NATIVE -Native支付 APP -APP支付 说明详见<a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2">参数规定</a></td>
</tr>
<tr>
<td>预支付交易会话标识</td>
<td>prepay_id</td>
<td>是</td>
<td>String(64)</td>
<td>wx201410272009395522657a690389285100</td>
<td>微信生成的预支付会话标识,用于后续接口调用中使用,该值有效期为2小时</td>
</tr>
<tr>
<td>二维码链接</td>
<td>code_url</td>
<td>否</td>
<td>String(64)</td>
<td>weixin://wxpay/bizpayurl/up?pr=NwY5Mz9&groupid=00</td>
<td>trade_type=NATIVE时有返回,此url用于生成支付二维码,然后提供给用户进行扫码支付。 注意:code_url的值并非固定,使用时按照URL格式转成二维码即可</td>
</tr>
</tbody>
</table>
<p>举例如下:</p>
<pre><code class="language-java"><xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<openid><![CDATA[oUpF8uMuAJO_M2pxb1Q9zNjWeS6o]]></openid>
<sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml></code></pre>
<h3>错误码</h3>
<table>
<thead>
<tr>
<th>名称</th>
<th>描述</th>
<th>原因</th>
<th>解决方案</th>
</tr>
</thead>
<tbody>
<tr>
<td>INVALID_REQUEST</td>
<td>参数错误</td>
<td>参数格式有误或者未按规则上传</td>
<td>订单重入时,要求参数值与原请求一致,请确认参数问题</td>
</tr>
<tr>
<td>NOAUTH</td>
<td>商户无此接口权限</td>
<td>商户未开通此接口权限</td>
<td>请商户前往申请此接口权限</td>
</tr>
<tr>
<td>NOTENOUGH</td>
<td>余额不足</td>
<td>用户帐号余额不足</td>
<td>用户帐号余额不足,请用户充值或更换支付卡后再支付</td>
</tr>
<tr>
<td>ORDERPAID</td>
<td>商户订单已支付</td>
<td>商户订单已支付,无需重复操作</td>
<td>商户订单已支付,无需更多操作</td>
</tr>
<tr>
<td>ORDERCLOSED</td>
<td>订单已关闭</td>
<td>当前订单已关闭,无法支付</td>
<td>当前订单已关闭,请重新下单</td>
</tr>
<tr>
<td>SYSTEMERROR</td>
<td>系统错误</td>
<td>系统超时</td>
<td>系统异常,请用相同参数重新调用</td>
</tr>
<tr>
<td>APPID_NOT_EXIST</td>
<td>APPID不存在</td>
<td>参数中缺少APPID</td>
<td>请检查APPID是否正确</td>
</tr>
<tr>
<td>MCHID_NOT_EXIST</td>
<td>MCHID不存在</td>
<td>参数中缺少MCHID</td>
<td>请检查MCHID是否正确</td>
</tr>
<tr>
<td>APPID_MCHID_NOT_MATCH</td>
<td>appid和mch_id不匹配</td>
<td>appid和mch_id不匹配</td>
<td>请确认appid和mch_id是否匹配</td>
</tr>
<tr>
<td>LACK_PARAMS</td>
<td>缺少参数</td>
<td>缺少必要的请求参数</td>
<td>请检查参数是否齐全</td>
</tr>
<tr>
<td>OUT_TRADE_NO_USED</td>
<td>商户订单号重复</td>
<td>同一笔交易不能多次提交</td>
<td>请核实商户订单号是否重复提交</td>
</tr>
<tr>
<td>SIGNERROR</td>
<td>签名错误</td>
<td>参数签名结果不正确</td>
<td>请检查签名参数和方法是否都符合签名算法要求</td>
</tr>
<tr>
<td>XML_FORMAT_ERROR</td>
<td>XML格式错误</td>
<td>XML格式错误</td>
<td>请检查XML参数格式是否正确</td>
</tr>
<tr>
<td>REQUIRE_POST_METHOD</td>
<td>请使用post方法</td>
<td>未使用post传递参数</td>
<td>请检查请求参数是否通过post方法提交</td>
</tr>
<tr>
<td>POST_DATA_EMPTY</td>
<td>post数据为空</td>
<td>post数据不能为空</td>
<td>请检查post数据是否为空</td>
</tr>
<tr>
<td>NOT_UTF8</td>
<td>编码格式错误</td>
<td>未使用指定编码格式</td>
<td>请使用UTF-8编码格式</td>
</tr>
</tbody>
</table>