laravel5.5实现微信H5支付

简介微信支付

1.首先通过composer下载支付扩展包 文档地址https://github.com/yansongda/laravel-pay

 composer require yansongda/laravel-pay

2.控制器代码

<?php

namespace App\Http\Controllers\Index;

use App\Http\Controllers\Controller;
use Yansongda\Pay\Pay;
use Yansongda\Pay\Log;
class IndexController extends Controller
{
   protected $config = [
       // 'appid' => 'wxb3fxxxxxxxxxxx', // APP APPID
       'app_id' => 'wx7a7c2xxxxxxxx', // 公众号 APPID
       // 'miniapp_id' => 'wxb3fxxxxxxxxxxx', // 小程序 APPID
       'mch_id' => '16004xxxxx', //商户id
       'key' => '202cb962ac59075b964b07xxxxxx',//商户支付密钥
       'notify_url' => '/notify', //微信支付回调地址
       'cert_client' => './cert/apiclient_cert.pem', // optional,退款等情况时用到
       'cert_key' => './cert/apiclient_key.pem',// optional,退款等情况时用到
       'log' => [ // optional
           'file' => './logs/wechat.log',
           'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
           'type' => 'single', // optional, 可选 daily.
           'max_file' => 30, // optional, type daily 时有效,默认 30
       ],
       'http' => [ // optional
           'timeout' => 5.0,
           'connect_timeout' => 5.0,
           // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
       ],
       // 'mode' => 'dev', // optional, dev/hk;当为 `hk` 时,为香港 gateway
   ];
   public function index(){
       $order = [
           'out_trade_no' => time(),
           'total_fee' => '1', // **单位:分**
           'body' => '测试',
           // 'openid' => 'onkVf1FjWS5SBIixxxxxxx',
       ];

       return  Pay::wechat($this->config)->wap($order);//微信H5支付
   }
   //微信支付回调方法
   public function notify()
   {
       $pay = Pay::wechat($this->config);

       try{
           $data = $pay->verify(); // 是的,验签就这么简单!

           Log::debug('Wechat notify', $data->all());
       } catch (\Exception $e) {
           // $e->getMessage();
       }

       return $pay->success();// laravel 框架中请直接 `return $pay->success()`
   }




}


3.路由

Route::get('/h5pay', 'Index\IndexController@index');

Route::get('/notify', 'Index\IndexController@notify');


4.点击发起微信H5支付

399a5fb56185676aefbc43383e98924.png


5.温馨提示 别忘了回调路由解除csrf限制,否则将接收不到微信回调

1593692801(1).jpg

 

文章评论

共有0条评论来说两句吧...

用户名:

验证码:

Top