1. 程式人生 > >使用 laravel + easyWechat 做微信公眾號支付

使用 laravel + easyWechat 做微信公眾號支付

準備

1.微信服務號  相應的  appId  和 appsecret

2.微信支付商戶號 的 (商戶號的id)  mch_id   (商戶支付的金鑰)  key

 
 

商戶的key要到微信支付商戶平臺上檢視

開始開發

1.laravel 安裝 laravel/wechat

     參考地址 https://github.com/overtrue/laravel-wechat

     

   composer require "overtrue/laravel-wechat:~4.0"

       同時要注意 laravel 的   csrf_token 機制   

 $officialAccount = EasyWeChat::officialAccount(); // 公眾號例項
  $work = EasyWeChat::work(); // 企業微信例項
  $payment = EasyWeChat::payment(); // 微信支付例項
  $openPlatform = EasyWeChat::openPlatform(); // 開放平臺例項
  $miniProgram = EasyWeChat::miniProgram(); // 小程式例項

這此例項的引數是自動從   config/wechat.php 配置檔案中自動獲取的,當然也可以自已指定

  

 

config/wechat.php 檔案的格式如下圖

相應的在env檔案中寫入  appid appsecret  mch_id   key  和 token

 

前端發起點選支付,發起支付請求

 

頁面的程式碼  ajax請求 wechat/prepay  地址,後臺返加的config中有 調起支付所須的引數

後臺的wechat/pay的程式碼如下,

這裡的config就是前端的所有引數的陣列

這樣就調起微信支付了

須要注意的是,微信對支付的目錄是有規定的,必須在打定的目錄下的路徑才可以呼叫

如:在微信商戶平臺配置 的支付路徑是   www.xxx.com/wechat/payment/    (注意結尾要有  “/”)

那麼我們的支付程式碼的路徑就應該是 這個路徑下的 子路徑   如:www.xxx.com/wechat/payment/orderpay    www.xxx.com/wechat/payment/mondypay  等都可以

但是 www.xxx.com/wechat/payment   www.xxx.com/wechat/payment/orderpay/sunpay  等都是不可以的

 

現在微信的支付路徑配置轉到了商戶平臺上,自已去配置一下