這篇文章主要為大家展示了“微信公眾平臺開發微信支付報關接口的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“微信公眾平臺開發微信支付報關接口的示例分析”這篇文章吧。

https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder
是否需要證書
不需要。
請求方式:post 數據格式:xml 簽名方式:MD5
注意:商戶訂單號金額以支付系統記錄的為準,無需上傳,如有子訂單號則必須上傳子訂單應付金額、物流費、商品價格(應付金額=物流費+商品價格)。
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 說明 |
|---|---|---|---|---|---|
| 簽名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 簽名,詳見簽名生成算法 |
| 公眾賬號ID | appid | 是 | String(32) | wxd678efh667hg6787 | 微信分配的公眾賬號ID |
| 商戶號 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商戶號 |
| 商戶訂單號 | out_trade_no | 是 | String(32) | 20150806125346 | 商戶系統內部的訂單號 |
| 微信支付訂單號 | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的訂單號 |
| 海關 | customs | 是 | String(32) | SHANGHAI | NO 無需上報海關 GUANGZHOU 廣州 HANGZHOU 杭州 NINGBO 寧波 ZHENGZHOU_BS 鄭州(保稅物流中心) CHONGQING 重慶 XIAN 西安 SHANGHAI 上海 ZHENGZHOU_ZH 鄭州(綜保區) SHENZHEN 深圳 |
| 商戶海關備案號 | mch_customs_no | 否 | String(32) | 123456 | 商戶在海關登記的備案號,customs非NO,此參數必填 |
| 關稅 | duty | 否 | Int | 888 | 關稅,以分為單位 |
以下字段在拆單或重新報關時必傳
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商戶子訂單號 | sub_order_no | 否 | String(32) | 20150806125346 | 商戶子訂單號,如有拆單則必傳 |
| 幣種 | fee_type | 否 | String(3) | CNY | 微信支付訂單支付時使用的幣種,暫只支持人民幣CNY,如有拆單則必傳。 |
| 應付金額 | order_fee | 否 | Int | 888 | 子訂單金額,以分為單位,不能超過原訂單金額,order_fee=transport_fee+product_fee(應付金額=物流費+商品價格),如有拆單則必傳。 |
| 物流費 | transport_fee | 否 | Int | 888 | 物流費用,以分為單位,如有拆單則必傳。 |
| 商品價格 | product_fee | 否 | Int | 888 | 商品費用,以分為單位,如有拆單則必傳。 |
以下字段在微信缺少用戶信息時必傳,如果商戶上傳了用戶信息,則以商戶上傳的信息為準。
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 證件類型 | cert_type | 否 | String(32) | IDCARD | 暫只支持身份證,該參數是指用戶信息,商戶若有用戶信息,可上送,系統將以商戶上傳的數據為準,進行海關通關報備; |
| 證件號碼 | cert_id | 否 | String(64) | 330821198809085211 | 身份證號,該參數是指用戶信息,商戶若有用戶信息,可上送,系統將以商戶上傳的數據為準,進行海關通關報備; |
| 姓名 | name | 否 | String(64) | 張三 | 用戶姓名,該參數是指用戶信息,商戶若有用戶信息,可上送,系統將以商戶上傳的數據為準,進行海關通關報備; |
舉例如下:
<xml> <appid>wx2421b1c4370ec43b</appid> <customs>ZHENGZHOU_BS</customs> <mch_customs_no>D00411</mch_customs_no> <mch_id>1262544101</mch_id> <order_fee>13110</order_fee> <out_trade_no>15112496832609</out_trade_no> <product_fee>13110</product_fee> <sign>8FF6CEF879FB9555CD580222E671E9D4</sign> <transaction_id>1006930610201511241751403478</transaction_id> <transport_fee>0</transport_fee> <fee_type>CNY</fee_type> <sub_order_no>15112496832609001</sub_order_no> </xml>
注:參數值用XML轉義即可,CDATA標簽用于說明數據不被XML解析器解析。
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 說明 |
|---|---|---|---|---|---|
| 返回狀態碼 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL 此字段是通信標識,非交易標識,交易是否成功需要查看result_code來判斷 |
| 返回信息 | return_msg | 否 | String(128) | 簽名失敗 | 返回信息,如非空,為錯誤原因 簽名失敗 參數格式校驗錯誤 |
以下字段在return_code為SUCCESS的時候有返回
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 簽名類型 | sign_type | 是 | String(32) | MD5 | 暫只支持MD5 |
| 簽名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 簽名,詳見簽名生成算法 |
| 公眾賬號ID | appid | 是 | String(32) | wxd678efh667hg6787 | 微信分配的公眾賬號ID |
| 商戶號 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商戶號 |
| 業務結果 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
| 錯誤代碼 | err_code | 否 | String(32) | SYSTEMERROR | 詳細參見錯誤列表 |
| 錯誤代碼描述 | err_code_des | 否 | String(128) | 系統錯誤 | 錯誤返回的信息描述 |
以下字段在return_code 和result_code都為SUCCESS的時候有返回
| 字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 狀態碼 | state | 是 | String(2) | UNDECLARED | 狀態碼 UNDECLARED -- 未申報 SUBMITTED -- 申報已提交(訂單已經送海關,商戶重新申報,并且海關還有修改接口,那么記錄的狀態會是這個) PROCESSING -- 申報中 SUCCESS -- 申報成功 FAIL-- 申報失敗 EXCEPT --海關接口異常 |
| 微信支付訂單號 | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的訂單號 |
| 商戶訂單號 | out_trade_no | 是 | String(32) | 20150806125346 | 商戶系統內部的訂單號 |
| 商戶子訂單號 | sub_order_no | 否 | String(32) | 20150806125346 | 商戶子訂單號,如有拆單則必傳 |
| 微信子訂單號 | sub_order_id | 否 | String(32) | 20150806125346 | 微信子訂單號 |
| 最后更新時間 | modify_time | 是 | String(14) | 20091227091010 | 最后更新時間,格式為yyyyMMddhhmmss,如2009年12月27日9點10分10秒表示為20091227091010。時區為GMT+8 beijing。該時間取自微信服務器 |
| 名稱 | 描述 | 原因 | 解決方案 |
|---|---|---|---|
| 132011004 | 參數錯誤 | 報關時僅傳入訂單號,不傳入子訂單號(sub_order_no)時,不能填費用信息,須以支付系統中的值為準 | 請檢查參數是否都正確 |
| 132021028 | 交易幣種與商戶結算幣種不一致】 | 報關時傳入子訂單號(sub_order_no)時,幣種參數(fee_type)必填 | 請檢查所傳幣種參數(fee_type)是否為空 |
| MCHID_NOT_SET | 商戶號未設置 | 商戶號為必傳參數,請求時必傳 | 請檢查商戶號是否為空 |
| MCHID_INVALID_LENGTH | 無效的商戶號長度 | 報關接口只支持12開頭10位數字的商戶號 | 請檢查商戶號長度是否為10位 |
| CUSTOMSCONFIG_NOT_SET | 海關配置未設置 | 報關接口需要商戶已配置過海關信息才可以訪問 | 請參照上文中的海關備案指引,進行海關信息報備 |
| FEETYPE_NOT_SET | 幣種類型未設置 | 拆單情況下,幣種為必填參數 | 請檢查fee_type是否為空 |
| OUTTRADENO_NOT_SET | 商戶訂單號(out_trade_no)未設置 | 商戶訂單號為必傳參數 | 請檢查商戶訂單號(out_trade_no)是否為空 |
| TRANSACTION_ID_NOT_SET | 微信訂單號(transaction_id)未設置 | 微信訂單號(transaction_id)為必傳參數 | 請檢查微信訂單號(transaction_id)是否為空 |
| INVALID_TRANSACTION_ID | 無效的微信訂單號長度 | 微信訂單號為28位數字,請確保長度一致 | 請檢查微信訂單號(transaction_id)是否正確 |
| CUSTOMS_NOT_SET | 海關信息未設置 | 海關信息為必傳字段 | 請檢查海關信息是否為空 |
| CHCUSTOMSNO_NOT_SET | 海關備案號未設置 | 海關備案號為必傳字段 | 請檢查備案號是否為空 |
| INVALID_MCHCUSTOMSNO | 無效的海關備案號長度 | 海關備案號一般為6位字符串 | 請檢查海關備案號是否正確 |
| PAYFEE_NOT_MATCH | 金額不匹配 | 報關的訂單金額必須和支付的金額一致 | 請檢查報關訂單的金額是否正確 |
| INVALID_SUBORDER_NO | 無效的子訂單號長度(sub_order_no) | 子訂單號要求是32位以內的字符串 | 請檢查子訂單號長度是否正確 |
| APPID_NOT_EXIST | AppId未設置(sub_order_no) | appid為必傳字段 | 請檢查appid是否正確 |
| MCHID_NOT_EXIST | 商戶號(mch_id)未設置 | MCH_ID為必傳字段 | 請檢查mch_id是否正確 |
| AUTHORITY_NOT_FOUND | 未開通自助清關功能 | 須先開通自助清關功能才可成功調用接口 | 請檢查是否已開通自助清關功能,開通路徑:微信支付商戶平臺-產品中心-自助清關中申請開通。 |
| NO_AUTH | 無權限 | 未獲得此接口的調用權限 | 請檢查當前商戶號是否已獲得此接口的調用權限 |
sdk定義



發送數據如下
array(6) {
["appid"]=>
string(18) "wxa8092dd025e45123"
["mch_id"]=>
string(10) "1238298123"
["out_trade_no"]=>
string(22) "SH20160824095750086988"
["transaction_id"]=>
string(28) "4006742001201608242098415582"
["customs"]=>
string(6) "NINGBO"
["mch_customs_no"]=>
string(10) "3302461123"
}接收到的數據如下
array(12) {
["return_code"]=>
string(7) "SUCCESS"
["return_msg"]=>
string(6) "成功"
["sign"]=>
string(32) "91EFCEEAAD4322F331F3F63C4D8F1279"
["appid"]=>
string(18) "wxa8092dd025e45123"
["mch_id"]=>
string(10) "1238298123"
["result_code"]=>
string(7) "SUCCESS"
["err_code"]=>
string(1) "0"
["err_code_des"]=>
string(2) "OK"
["state"]=>
string(9) "SUBMITTED"
["transaction_id"]=>
string(28) "4006742001201608242098415582"
["out_trade_no"]=>
string(22) "SH20160824095750086988"
["modify_time"]=>
string(14) "20160825111049"
}以上是“微信公眾平臺開發微信支付報關接口的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
網站名稱:微信公眾平臺開發微信支付報關接口的示例分析-創新互聯
網站鏈接:http://www.yijiale78.com/article38/ddcosp.html
成都網站建設公司_創新互聯,為您提供域名注冊、響應式網站、虛擬主機、建站公司、網站排名、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯