<blockquote>轉(zhuǎn):前一篇微信JSApi支付~坑和如何填坑文章反映不錯淮腾,所以又寫了個后篇,呵呵屉佳。
每個第三方在線支付系統(tǒng)中都會有至少兩類訂單號谷朝,其一為支付系統(tǒng)的訂單號,我們稱為transactionId武花,其二為商戶平臺的訂單號圆凰,我們通常稱為out_trade_no,這兩個號一般用來對賬体箕,在第三方支付平臺你可以通過這兩個訂單號來查詢訂單的狀態(tài)专钉,而在商戶自己的網(wǎng)站后臺,也可以查詢它的狀態(tài)累铅,一般地跃须,transactionId由支付系統(tǒng)生成,并在回調(diào)時轉(zhuǎn)回給商戶娃兽;而out_trade_no一般在商戶平臺生成菇民,自己可以設(shè)計自己的規(guī)則,然后把這個ID轉(zhuǎn)到第三方支付平臺,在支付成功后第练,第三方同樣把這個號轉(zhuǎn)回來阔馋,我們通過這個號進行商戶系統(tǒng)的其它操作。
地址:http://www.cnblogs.com/lori/p/5364213.html</blockquote>
<blockquote>先下載資源包复旬,然后進行設(shè)置垦缅。資源包:鏈接:http://pan.baidu.com/s/1eStGri6 密碼:1fsw</blockquote>
你需要設(shè)置的4個地方:
A
B
C
D
<blockquote>All bugs of package above already been cleared . The solutions are as follows: </blockquote>
#BUG1:
<blockquote>Notice: "Undefined property: JsApiPay::$curl_timeout in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php on line 100"</blockquote>
給這里改成30,指30秒
#BUG2:
<blockquote>Fatal error: Uncaught WxPayException: curl出錯驹碍,錯誤碼:60 in C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php:564
Stack trace:
#0 C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php(62): WxPayApi::postXmlCurl('<xml><appid><![...', 'https: //api.mch...', false, 6)
#1 C:\xampp\htdocs\www\curtain\public\WxPay414\Index.php(28): WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder))
#2 {main}
thrown in C:\xampp\htdocs\www\curtain\public\WxPay414\lib\WxPay.Api.php on line 564</blockquote>
解決辦法(可以不看):http://blog.csdn.net/qq_34755805/article/details/51221932
把紅框里的兩行代碼替換成538-545行 (不推薦)
把紅框里的TRUE 和 2 都改成 FALSE (推薦)
#BUG3:
<blockquote>Fatal error: Uncaught WxPayException: 參數(shù)錯誤 in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php:73
Stack trace:
0 C:\xampp\htdocs\www\curtain\public\WxPay414\Index.php(29): JsApiPay->GetJsApiParameters(Array)
1 {main}
thrown in C:\xampp\htdocs\www\curtain\public\WxPay414\WxPay.JsApiPay.php on line 73</blockquote>
在29行打印一下:
<blockquote>Array
(
[return_code] => FAIL
[return_msg] => time_expire時間過短,刷卡至少1分鐘凡恍,其他5分鐘
)</blockquote>
解決辦法一(刪除time_expire)(不推薦):http://blog.csdn.net/hongsejiaozhu/article/details/49592729
解決辦法二(更新服務器時間)(錯誤原因在于服務器的時間不對志秃,應該是時區(qū)問題)(可以不看):http://bbs.we7.cc/forum.php?mod=viewthread&tid=23143
- 可以修改php.ini 文件里的 date.timezone (有2個)(推薦方法二)
- 在文件頭加上:ini_set('date.timezone','Asia/Shanghai');(推薦該方法)
在公眾平臺設(shè)置授權(quán)目錄:
#BUG4:
在支付時,彈出當前頁面的URL未注冊嚼酝,肯定是支付授權(quán)目錄填錯了浮还,注意url的大小寫。
<blockquote>以下兩個地址要一致闽巩,你的支付地址是http://wx.clbon.cn/WxPay414/index.php index.php的首字母i大小寫都行</blockquote>
<blockquote>在laravel框架里钧舌,你配置這樣的路由:http://wx.clbon.cn/makeorder/ 是你的支付頁面,你公眾號設(shè)置的支付授權(quán)目錄也是這涎跨,會提示URL未注冊洼冻,要把路由后邊隨便加個東西才行</blockquote>
此時可以測試支付成功!