微信支付-掃碼支付-原生支付-統一下單-參數說明

統一下單

應用場景

除被掃支付場景之外,商戶系統先調用該接口在微信支付服務後臺生成預支付交易單,返回正確的預支付交易回話標識後再按掃碼、JSAPI、APP等不一樣場景生成交易串調起支付。php

接口連接

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

是否須要證書

不須要api

請求參數

字段名 變量名 必填 類型 示例值 描述
公衆帳號ID appid String(32) wxd678efh567hg6787 微信分配的公衆帳號ID(企業號corpid即爲此appId)
商戶號 mch_id String(32) 1230000109 微信支付分配的商戶號
設備號 device_info String(32) 013467007045764 終端設備號(門店號或收銀設備ID),注意:PC網頁或公衆號內支付請傳"WEB"
隨機字符串 nonce_str String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 隨機字符串,不長於32位。推薦隨機數生成算法
簽名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 簽名,詳見簽名生成算法
商品描述 body String(32) Ipad mini  16G  白色 商品或支付單簡要描述
商品詳情 detail String(8192) Ipad mini  16G  白色 商品名稱明細列表
附加數據 attach String(127) 深圳分店 附加數據,在查詢API和支付通知中原樣返回,該字段主要用於商戶攜帶訂單的自定義數據
商戶訂單號 out_trade_no String(32) 20150806125346 商戶系統內部的訂單號,32個字符內、可包含字母, 其餘說明見商戶訂單號
貨幣類型 fee_type String(16) CNY 符合ISO 4217標準的三位字母代碼,默認人民幣:CNY,其餘值列表詳見貨幣類型
總金額 total_fee Int 888 訂單總金額,單位爲分,詳見支付金額
終端IP spbill_create_ip String(16) 123.12.12.123 APP和網頁支付提交用戶端ip,Native支付填調用微信支付API的機器IP。
交易起始時間 time_start String(14) 20091225091010 訂單生成時間,格式爲yyyyMMddHHmmss,如2009年12月25日9點10分10秒錶示爲20091225091010。其餘詳見時間規則
交易結束時間 time_expire String(14) 20091227091010

訂單失效時間,格式爲yyyyMMddHHmmss,如2009年12月27日9點10分10秒錶示爲20091227091010。其餘詳見時間規則微信

注意:最短失效時間間隔必須大於5分鐘
商品標記 goods_tag String(32) WXG 商品標記,代金券或立減優惠功能的參數,說明詳見代金券或立減優惠
通知地址 notify_url String(256) http://www.weixin.qq.com/wxpay/pay.php 接收微信支付異步通知回調地址
交易類型 trade_type String(16) JSAPI 取值以下:JSAPI,NATIVE,APP,詳細說明見參數規定
商品ID product_id String(32) 12235413214070356458058 trade_type=NATIVE,此參數必傳。此id爲二維碼中包含的商品ID,商戶自行定義。
指定支付方式 limit_pay String(32) no_credit no_credit--指定不能使用信用卡支付
用戶標識 openid String(128) oUpF8uMuAJO_M2pxb1Q9zNjWeS6o trade_type=JSAPI,此參數必傳,用戶在商戶appid下的惟一標識。openid如何獲取,可參考【獲取openid】。企業號請使用【企業號OAuth2.0接口】獲取企業號內成員userid,再調用【企業號userid轉openid接口】進行轉換

舉例以下:app

<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <attach>支付測試</attach>
   <body>JSAPI支付測試</body>
   <mch_id>10000100</mch_id>
   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
   <notify_url>http://wxpay.weixin.qq.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>異步

注:參數值用XML轉義便可,CDATA標籤用於說明數據不被XML解析器解析。post

返回結果

字段名 變量名 必填 類型 示例值 描述
返回狀態碼 return_code String(16) SUCCESS

SUCCESS/FAIL測試

此字段是通訊標識,非交易標識,交易是否成功須要查看result_code來判斷微信支付

返回信息 return_msg String(128) 簽名失敗

返回信息,如非空,爲錯誤緣由編碼

簽名失敗

參數格式校驗錯誤

如下字段在return_code爲SUCCESS的時候有返回

字段名 變量名 必填 類型 示例值 描述
公衆帳號ID appid String(32) wx8888888888888888 調用接口提交的公衆帳號ID
商戶號 mch_id String(32) 1900000109 調用接口提交的商戶號
設備號 device_info String(32) 013467007045764 調用接口提交的終端設備號,
隨機字符串 nonce_str String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 微信返回的隨機字符串
簽名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 微信返回的簽名,詳見簽名算法
業務結果 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,詳細說明見參數規定
預支付交易會話標識 prepay_id String(64) wx201410272009395522657a690389285100 微信生成的預支付回話標識,用於後續接口調用中使用,該值有效期爲2小時
二維碼連接 code_url String(64) URl:weixin://wxpay/s/An4baqw trade_type爲NATIVE是有返回,可將該參數值生成二維碼展現出來進行掃碼支付

舉例以下:

<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>
   <sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
   <result_code><![CDATA[SUCCESS]]></result_code>
   <prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
   <trade_type><![CDATA[JSAPI]]></trade_type>
</xml>

錯誤碼

名稱 描述 緣由 解決方案
NOAUTH 商戶無此接口權限 商戶未開通此接口權限 請商戶前往申請此接口權限
NOTENOUGH 餘額不足 用戶賬號餘額不足 用戶賬號餘額不足,請用戶充值或更換支付卡後再支付
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 編碼格式錯誤 未使用指定編碼格式 請使用NOT_UTF8編碼格式
相關文章
相關標籤/搜索