本文介紹微信支付下的報(bào)關(guān)接口的開發(fā)過程。微信報(bào)關(guān)是用于商戶提交海關(guān)需要的訂單信息。?
一、報(bào)關(guān)接口API
接口地址
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à)格)。
字段名 | 變量名 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
簽名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 簽名,詳見簽名生成算法 |
公眾賬號(hào)ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信分配的公眾賬號(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 | 子訂單金額,以分為單位,不能超過原訂單金額,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)簽用于說明數(shù)據(jù)不被XML解析器解析。
應(yīng)答參數(shù)列表
字段名 | 變量名 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
返回狀態(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 | 簽名,詳見簽名生成算法 |
公眾賬號(hào)ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信分配的公眾賬號(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ì)參見錯(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ù)器 |
錯(cuò)誤碼
名稱 | 描述 | 原因 | 解決方案 |
---|---|---|---|
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ā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實(shí)現(xiàn)
sdk定義
三、調(diào)用方式
三、返回結(jié)果
發(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" }
?
Atas ialah kandungan terperinci 微信公眾平臺(tái)開發(fā)微信支付報(bào)關(guān)接口 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan web dan pengaturcaraan sisi pelayan, terutamanya dalam pembangunan WeChat. Hari ini, semakin banyak syarikat dan pembangun mula menggunakan PHP untuk pembangunan WeChat kerana ia telah menjadi bahasa pembangunan yang benar-benar mudah dipelajari dan mudah digunakan. Dalam pembangunan WeChat, penyulitan dan penyahsulitan mesej merupakan isu yang sangat penting kerana ia melibatkan keselamatan data. Untuk mesej tanpa kaedah penyulitan dan penyahsulitan, penggodam boleh mendapatkan data dengan mudah, menimbulkan ancaman kepada pengguna.

Dalam pembangunan akaun awam WeChat, fungsi pengundian sering digunakan. Fungsi undian ialah cara yang bagus untuk pengguna mengambil bahagian dalam interaksi dengan pantas, dan ia juga merupakan alat penting untuk mengadakan acara dan meninjau pendapat. Artikel ini akan memperkenalkan anda cara menggunakan PHP untuk melaksanakan fungsi undian WeChat. Dapatkan kebenaran akaun rasmi WeChat Pertama, anda perlu mendapatkan kebenaran akaun rasmi WeChat. Pada platform awam WeChat, anda perlu mengkonfigurasi alamat API akaun awam WeChat, akaun rasmi dan token yang sepadan dengan akaun awam. Dalam proses pembangunan kami menggunakan bahasa PHP, kami perlu menggunakan PH yang disediakan secara rasmi oleh WeChat

Dengan populariti WeChat, semakin banyak syarikat mula menggunakannya sebagai alat pemasaran. Fungsi pemesejan kumpulan WeChat ialah salah satu cara penting bagi perusahaan untuk menjalankan pemasaran WeChat. Walau bagaimanapun, jika anda hanya bergantung pada penghantaran manual, ia adalah tugas yang sangat memakan masa dan susah payah untuk pemasar. Oleh itu, adalah amat penting untuk membangunkan alat pemesejan massa WeChat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan alat penghantaran massa WeChat. 1. Kerja penyediaan Untuk membangunkan alat pemesejan massa WeChat, kita perlu menguasai perkara teknikal berikut: Pengetahuan asas PHP WeChat alat pembangunan platform awam: Sub

WeChat kini merupakan salah satu platform sosial dengan pangkalan pengguna terbesar di dunia Dengan populariti Internet mudah alih, semakin banyak syarikat mula menyedari kepentingan pemasaran WeChat. Apabila menjalankan pemasaran WeChat, perkhidmatan pelanggan adalah bahagian yang penting. Untuk mengurus tetingkap sembang perkhidmatan pelanggan dengan lebih baik, kami boleh menggunakan bahasa PHP untuk pembangunan WeChat. 1. Pengenalan kepada pembangunan PHP WeChat PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas dalam bidang pembangunan Web. Digabungkan dengan antara muka pembangunan yang disediakan oleh platform awam WeChat, kami boleh menggunakan bahasa PHP untuk menjalankan WeChat

Dalam pembangunan akaun awam WeChat, pengurusan tag pengguna ialah fungsi yang sangat penting, yang membolehkan pembangun memahami dan mengurus pengguna mereka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengurusan teg pengguna WeChat. 1. Dapatkan openid pengguna WeChat Sebelum menggunakan fungsi pengurusan tag pengguna WeChat, kita perlu mendapatkan openid pengguna terlebih dahulu. Dalam pembangunan akaun awam WeChat, adalah amalan biasa untuk mendapatkan openid melalui kebenaran pengguna. Selepas kebenaran pengguna selesai, kami boleh mendapatkan pengguna melalui kod berikut

Memandangkan WeChat menjadi alat komunikasi yang semakin penting dalam kehidupan orang ramai, fungsi pemesejan tangkasnya digemari oleh sebilangan besar perusahaan dan individu. Bagi perusahaan, membangunkan WeChat menjadi platform pemasaran telah menjadi trend, dan kepentingan pembangunan WeChat secara beransur-ansur menjadi lebih menonjol. Antaranya, fungsi penghantaran kumpulan lebih banyak digunakan Jadi, sebagai pengaturcara PHP, bagaimana untuk melaksanakan rekod penghantaran mesej kumpulan? Berikut akan memberi anda pengenalan ringkas. 1. Memahami pengetahuan pembangunan yang berkaitan dengan akaun awam WeChat Sebelum memahami cara melaksanakan rekod penghantaran mesej kumpulan, I

Cara menggunakan PHP untuk membangunkan akaun awam WeChat Akaun awam WeChat telah menjadi saluran penting untuk promosi dan interaksi bagi banyak syarikat, dan PHP, sebagai bahasa Web yang biasa digunakan, juga boleh digunakan untuk membangunkan akaun awam WeChat. Artikel ini akan memperkenalkan langkah khusus untuk menggunakan PHP untuk membangunkan akaun awam WeChat. Langkah 1: Dapatkan akaun pembangun akaun rasmi WeChat Sebelum memulakan pembangunan akaun rasmi WeChat, anda perlu memohon akaun pembangun akaun rasmi WeChat. Untuk proses pendaftaran khusus, sila rujuk laman web rasmi platform awam WeChat

Dengan pembangunan Internet dan peranti pintar mudah alih, WeChat telah menjadi bahagian yang amat diperlukan dalam bidang sosial dan pemasaran. Dalam era yang semakin digital ini, cara menggunakan PHP untuk pembangunan WeChat telah menjadi tumpuan ramai pembangun. Artikel ini terutamanya memperkenalkan mata pengetahuan yang berkaitan tentang cara menggunakan PHP untuk pembangunan WeChat, serta beberapa petua dan langkah berjaga-jaga. 1. Persediaan persekitaran pembangunan Sebelum membangunkan WeChat, anda perlu menyediakan persekitaran pembangunan yang sepadan terlebih dahulu. Secara khusus, anda perlu memasang persekitaran operasi PHP dan platform awam WeChat
