天天看點

Laravel 微信pc端掃碼支付---使用EasyWeChat

1、安裝 overture/wechat:

composer require “overtrue/laravel-wechat”: “~4.0”

2、安裝好之後可以根據官方的文檔來進行配置:

(1)gitHub: https://github.com/overtrue/laravel-wechat

(2)官方文檔位址 :https://www.easywechat.com/docs/4.1/payment/index

3、配置檔案中配置好 appid ,财付通商戶号,appkey ,以及最重要的回調位址

4、控制器中調用生成二維碼:

Laravel 微信pc端掃碼支付---使用EasyWeChat

注:傳回結果中隻是傳回一個 url ,須自己調用二維碼生成工具生成二維碼,附上我自己用的工具:

https://packagist.org/packages/simplesoftwareio/simple-qrcode

5、回調:微信的回調是以Post 的方式進行資料傳輸,要注意的他是傳輸的 資料流 ,是以擷取資料的方式:

$data = file_get_contents(‘php://input’); 可以将擷取的資料寫入日志中檢視。

但是在EasyWechat中 ,就已經對擷取資料和XML資料進行了轉換 ,從他的官方文檔中可以知道 (https://www.easywechat.com/docs/4.1/payment/notify) :

handlePaidNotify() 方法就已經對XML資料進行了處理,是以我們隻需要根據官方文檔調用這個方法就行

Laravel 微信pc端掃碼支付---使用EasyWeChat

這裡傳回的$message 是一個數組。

6、在前端頁面掃碼支付後可以用輪詢或者websoket的方式對支付結果進行查詢,利用商品的訂單号去查詢支付結果:

$app = app('wechat.payment');
    $info = $app->order->queryByOutTradeNumber($data['out_trade_no']);
	這樣就可以查詢到訂單的最後的支付狀态了。