您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“微信公眾平臺(tái)開發(fā)微信支付報(bào)關(guān)接口的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信公眾平臺(tái)開發(fā)微信支付報(bào)關(guān)接口的示例分析”這篇文章吧。
https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder
是否需要證書
不需要。
請(qǐng)求方式:post 數(shù)據(jù)格式:xml 簽名方式:MD5
注意:商戶訂單號(hào)金額以支付系統(tǒng)記錄的為準(zhǔn),無(wú)需上傳,如有子訂單號(hào)則必須上傳子訂單應(yīng)付金額、物流費(fèi)、商品價(jià)格(應(yīng)付金額=物流費(fèi)+商品價(jià)格)。
字段名 | 變量名 | 必填 | 類型 | 示例值 | 說(shuō)明 |
---|---|---|---|---|---|
簽名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 簽名,詳見(jiàn)簽名生成算法 |
公眾賬號(hào)ID | appid | 是 | String(32) | wxd678efh667hg6787 | 微信分配的公眾賬號(hào)ID |
商戶號(hào) | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商戶號(hào) |
商戶訂單號(hào) | out_trade_no | 是 | String(32) | 20150806125346 | 商戶系統(tǒng)內(nèi)部的訂單號(hào) |
微信支付訂單號(hào) | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的訂單號(hào) |
海關(guān) | customs | 是 | String(32) | SHANGHAI | NO 無(wú)需上報(bào)海關(guān) GUANGZHOU 廣州 HANGZHOU 杭州 NINGBO 寧波 ZHENGZHOU_BS 鄭州(保稅物流中心) CHONGQING 重慶 XIAN 西安 SHANGHAI 上海 ZHENGZHOU_ZH 鄭州(綜保區(qū)) SHENZHEN 深圳 |
商戶海關(guān)備案號(hào) | mch_customs_no | 否 | String(32) | 123456 | 商戶在海關(guān)登記的備案號(hào),customs非NO,此參數(shù)必填 |
關(guān)稅 | duty | 否 | Int | 888 | 關(guān)稅,以分為單位 |
以下字段在拆單或重新報(bào)關(guān)時(shí)必傳
字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
---|---|---|---|---|---|
商戶子訂單號(hào) | sub_order_no | 否 | String(32) | 20150806125346 | 商戶子訂單號(hào),如有拆單則必傳 |
幣種 | fee_type | 否 | String(3) | CNY | 微信支付訂單支付時(shí)使用的幣種,暫只支持人民幣CNY,如有拆單則必傳。 |
應(yīng)付金額 | order_fee | 否 | Int | 888 | 子訂單金額,以分為單位,不能超過(guò)原訂單金額,order_fee=transport_fee+product_fee(應(yīng)付金額=物流費(fèi)+商品價(jià)格),如有拆單則必傳。 |
物流費(fèi) | transport_fee | 否 | Int | 888 | 物流費(fèi)用,以分為單位,如有拆單則必傳。 |
商品價(jià)格 | product_fee | 否 | Int | 888 | 商品費(fèi)用,以分為單位,如有拆單則必傳。 |
以下字段在微信缺少用戶信息時(shí)必傳,如果商戶上傳了用戶信息,則以商戶上傳的信息為準(zhǔn)。
字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
---|---|---|---|---|---|
證件類型 | cert_type | 否 | String(32) | IDCARD | 暫只支持身份證,該參數(shù)是指用戶信息,商戶若有用戶信息,可上送,系統(tǒng)將以商戶上傳的數(shù)據(jù)為準(zhǔn),進(jìn)行海關(guān)通關(guān)報(bào)備; |
證件號(hào)碼 | cert_id | 否 | String(64) | 330821198809085211 | 身份證號(hào),該參數(shù)是指用戶信息,商戶若有用戶信息,可上送,系統(tǒng)將以商戶上傳的數(shù)據(jù)為準(zhǔn),進(jìn)行海關(guān)通關(guān)報(bào)備; |
姓名 | name | 否 | String(64) | 張三 | 用戶姓名,該參數(shù)是指用戶信息,商戶若有用戶信息,可上送,系統(tǒng)將以商戶上傳的數(shù)據(jù)為準(zhǔn),進(jìn)行海關(guān)通關(guān)報(bào)備; |
舉例如下:
<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>
注:參數(shù)值用XML轉(zhuǎn)義即可,CDATA標(biāo)簽用于說(shuō)明數(shù)據(jù)不被XML解析器解析。
字段名 | 變量名 | 必填 | 類型 | 示例值 | 說(shuō)明 |
---|---|---|---|---|---|
返回狀態(tài)碼 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL 此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看result_code來(lái)判斷 |
返回信息 | return_msg | 否 | String(128) | 簽名失敗 | 返回信息,如非空,為錯(cuò)誤原因 簽名失敗 參數(shù)格式校驗(yàn)錯(cuò)誤 |
以下字段在return_code為SUCCESS的時(shí)候有返回
字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
---|---|---|---|---|---|
簽名類型 | sign_type | 是 | String(32) | MD5 | 暫只支持MD5 |
簽名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 簽名,詳見(jiàn)簽名生成算法 |
公眾賬號(hào)ID | appid | 是 | String(32) | wxd678efh667hg6787 | 微信分配的公眾賬號(hào)ID |
商戶號(hào) | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商戶號(hào) |
業(yè)務(wù)結(jié)果 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
錯(cuò)誤代碼 | err_code | 否 | String(32) | SYSTEMERROR | 詳細(xì)參見(jiàn)錯(cuò)誤列表 |
錯(cuò)誤代碼描述 | err_code_des | 否 | String(128) | 系統(tǒng)錯(cuò)誤 | 錯(cuò)誤返回的信息描述 |
以下字段在return_code 和result_code都為SUCCESS的時(shí)候有返回
字段名 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
---|---|---|---|---|---|
狀態(tài)碼 | state | 是 | String(2) | UNDECLARED | 狀態(tài)碼 UNDECLARED -- 未申報(bào) SUBMITTED -- 申報(bào)已提交(訂單已經(jīng)送海關(guān),商戶重新申報(bào),并且海關(guān)還有修改接口,那么記錄的狀態(tài)會(huì)是這個(gè)) PROCESSING -- 申報(bào)中 SUCCESS -- 申報(bào)成功 FAIL-- 申報(bào)失敗 EXCEPT --海關(guān)接口異常 |
微信支付訂單號(hào) | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的訂單號(hào) |
商戶訂單號(hào) | out_trade_no | 是 | String(32) | 20150806125346 | 商戶系統(tǒng)內(nèi)部的訂單號(hào) |
商戶子訂單號(hào) | sub_order_no | 否 | String(32) | 20150806125346 | 商戶子訂單號(hào),如有拆單則必傳 |
微信子訂單號(hào) | sub_order_id | 否 | String(32) | 20150806125346 | 微信子訂單號(hào) |
最后更新時(shí)間 | modify_time | 是 | String(14) | 20091227091010 | 最后更新時(shí)間,格式為yyyyMMddhhmmss,如2009年12月27日9點(diǎn)10分10秒表示為20091227091010。時(shí)區(qū)為GMT+8 beijing。該時(shí)間取自微信服務(wù)器 |
名稱 | 描述 | 原因 | 解決方案 |
---|---|---|---|
132011004 | 參數(shù)錯(cuò)誤 | 報(bào)關(guān)時(shí)僅傳入訂單號(hào),不傳入子訂單號(hào)(sub_order_no)時(shí),不能填費(fèi)用信息,須以支付系統(tǒng)中的值為準(zhǔn) | 請(qǐng)檢查參數(shù)是否都正確 |
132021028 | 交易幣種與商戶結(jié)算幣種不一致】 | 報(bào)關(guān)時(shí)傳入子訂單號(hào)(sub_order_no)時(shí),幣種參數(shù)(fee_type)必填 | 請(qǐng)檢查所傳幣種參數(shù)(fee_type)是否為空 |
MCHID_NOT_SET | 商戶號(hào)未設(shè)置 | 商戶號(hào)為必傳參數(shù),請(qǐng)求時(shí)必傳 | 請(qǐng)檢查商戶號(hào)是否為空 |
MCHID_INVALID_LENGTH | 無(wú)效的商戶號(hào)長(zhǎng)度 | 報(bào)關(guān)接口只支持12開頭10位數(shù)字的商戶號(hào) | 請(qǐng)檢查商戶號(hào)長(zhǎng)度是否為10位 |
CUSTOMSCONFIG_NOT_SET | 海關(guān)配置未設(shè)置 | 報(bào)關(guān)接口需要商戶已配置過(guò)海關(guān)信息才可以訪問(wèn) | 請(qǐng)參照上文中的海關(guān)備案指引,進(jìn)行海關(guān)信息報(bào)備 |
FEETYPE_NOT_SET | 幣種類型未設(shè)置 | 拆單情況下,幣種為必填參數(shù) | 請(qǐng)檢查fee_type是否為空 |
OUTTRADENO_NOT_SET | 商戶訂單號(hào)(out_trade_no)未設(shè)置 | 商戶訂單號(hào)為必傳參數(shù) | 請(qǐng)檢查商戶訂單號(hào)(out_trade_no)是否為空 |
TRANSACTION_ID_NOT_SET | 微信訂單號(hào)(transaction_id)未設(shè)置 | 微信訂單號(hào)(transaction_id)為必傳參數(shù) | 請(qǐng)檢查微信訂單號(hào)(transaction_id)是否為空 |
INVALID_TRANSACTION_ID | 無(wú)效的微信訂單號(hào)長(zhǎng)度 | 微信訂單號(hào)為28位數(shù)字,請(qǐng)確保長(zhǎng)度一致 | 請(qǐng)檢查微信訂單號(hào)(transaction_id)是否正確 |
CUSTOMS_NOT_SET | 海關(guān)信息未設(shè)置 | 海關(guān)信息為必傳字段 | 請(qǐng)檢查海關(guān)信息是否為空 |
CHCUSTOMSNO_NOT_SET | 海關(guān)備案號(hào)未設(shè)置 | 海關(guān)備案號(hào)為必傳字段 | 請(qǐng)檢查備案號(hào)是否為空 |
INVALID_MCHCUSTOMSNO | 無(wú)效的海關(guān)備案號(hào)長(zhǎng)度 | 海關(guān)備案號(hào)一般為6位字符串 | 請(qǐng)檢查海關(guān)備案號(hào)是否正確 |
PAYFEE_NOT_MATCH | 金額不匹配 | 報(bào)關(guān)的訂單金額必須和支付的金額一致 | 請(qǐng)檢查報(bào)關(guān)訂單的金額是否正確 |
INVALID_SUBORDER_NO | 無(wú)效的子訂單號(hào)長(zhǎng)度(sub_order_no) | 子訂單號(hào)要求是32位以內(nèi)的字符串 | 請(qǐng)檢查子訂單號(hào)長(zhǎng)度是否正確 |
APPID_NOT_EXIST | AppId未設(shè)置(sub_order_no) | appid為必傳字段 | 請(qǐng)檢查appid是否正確 |
MCHID_NOT_EXIST | 商戶號(hào)(mch_id)未設(shè)置 | MCH_ID為必傳字段 | 請(qǐng)檢查mch_id是否正確 |
AUTHORITY_NOT_FOUND | 未開通自助清關(guān)功能 | 須先開通自助清關(guān)功能才可成功調(diào)用接口 | 請(qǐng)檢查是否已開通自助清關(guān)功能,開通路徑:微信支付商戶平臺(tái)-產(chǎn)品中心-自助清關(guān)中申請(qǐng)開通。 |
NO_AUTH | 無(wú)權(quán)限 | 未獲得此接口的調(diào)用權(quán)限 | 請(qǐng)檢查當(dāng)前商戶號(hào)是否已獲得此接口的調(diào)用權(quán)限 |
sdk定義
發(fā)送數(shù)據(jù)如下
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" }
接收到的數(shù)據(jù)如下
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" }
以上是“微信公眾平臺(tái)開發(fā)微信支付報(bào)關(guān)接口的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。