1.composer require yansongda/laravel-pay //composer加载第三方支付集成包
composer require simplesoftwareio/simple-qrcode 1.3.* //composer加载生成二维码文件
改config\app.php文件
'providers' => [
// ...
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,
],
3.写微信支付控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Yansongda\Pay\Pay;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
use Yansongda\Pay\Log;
class WxpayController extends Controller
{
//
protected $config = [
'appid' => 'your_apid', // APP APPID 必填
'app_id' => 'wx4706a9fcbbca10f2', // 公众号 APPID
'miniapp_id' => 'wxb3fxxxxxxxxxxx', // 小程序 APPID
'mch_id' => 'your_mch_id',
'key' => 'your_key',
'notify_url' => 'http://api.eawsp.com/api/notify',
'cert_client' => '/var/www/yzyp/cert/apiclient_cert.pem', // optional,退款等情况时用到
'cert_key' => '/var/www/yzyp/cert/apiclient_key.pem',// optional,退款等情况时用到
'log' => [ // optional
'file' => './logs/wechat.log',
'level' => 'debug', // 建议生产环境等级调整为 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。
];
/**
* 微信支付接口
* @access public
* @author xu
* @param
* @return array
* @date 2018-10-24
*/
public function wePay(Request $request)
{
$order = [
'out_trade_no' => time(),
'body' => 'subject-测试',
'total_fee' => '1',
];
$pay = Pay::wechat($this->config)->scan($order);
$re= QrCode::format('svg')->size(200)->errorCorrection("L")->generate($pay['code_url']);
return $re;
}
调用wePay方法,扫码支付
PS:
在 config/app.php 注册 ServiceProvider 和 Facade (Laravel 5.5 无需手动注册)
改config\app.php文件
'providers' => [
// ...
Overtrue\LaravelWeChat\ServiceProvider::class,
],
'aliases' => [
// ...
'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class,
],
附:https://yansongda.gitbooks.io/pay/