PHPackages                             freyo/laravel-entwechat - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. freyo/laravel-entwechat

ActiveLibrary[API Development](/categories/api)

freyo/laravel-entwechat
=======================

微信企业号 SDK for Laravel

v1.0.1(9y ago)2321MITPHP

Since Apr 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/freyo/laravel-entwechat)[ Packagist](https://packagist.org/packages/freyo/laravel-entwechat)[ RSS](/packages/freyo-laravel-entwechat/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

laravel-entwechat
=================

[](#laravel-entwechat)

[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Build Status](https://camo.githubusercontent.com/7df1e1edca7d291a403def5b21cc5498ad4b266c3622bb033bd0229332805dfb/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f667265796f2f6c61726176656c2d656e747765636861742f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/freyo/laravel-entwechat)[![Coverage Status](https://camo.githubusercontent.com/5a093e9dd7522c70cd20b3327adebdb933b3218bf2e5da55e8552b328e428666/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f667265796f2f6c61726176656c2d656e747765636861742e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/freyo/laravel-entwechat)[![Quality Score](https://camo.githubusercontent.com/08b890f25898f030b406c9ecdf120b92b7b344385a9b4ed8547f8c125adb12c4/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f667265796f2f6c61726176656c2d656e747765636861742e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/freyo/laravel-entwechat)[![Packagist Version](https://camo.githubusercontent.com/1f720fc653ae5ba468b22db40d4ec219378b0675a118b72315b024c82d17d313/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f667265796f2f6c61726176656c2d656e747765636861742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/freyo/laravel-entwechat)[![Total Downloads](https://camo.githubusercontent.com/c652d0e315d6fe070e22562d77456b24913c97d1320014817bd7db2475e44dc9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f667265796f2f6c61726176656c2d656e747765636861742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/freyo/laravel-entwechat)

微信 SDK for Laravel 5 / Lumen， 基于 [freyo/entwechat](https://github.com/freyo/entwechat)

本项目仅适用于一个固定企业号，支持一个或多个权限组

安装
--

[](#安装)

1. 安装包文件

```
composer require "freyo/laravel-entwechat"
```

> 使用前请禁用 laravel-debugbar

配置
--

[](#配置)

### Laravel 应用

[](#laravel-应用)

1. 注册 `ServiceProvider`:

```
Freyo\LaravelEntWechat\ServiceProvider::class,
```

2. 创建配置文件：

```
php artisan vendor:publish --provider="Freyo\LaravelEntWechat\ServiceProvider"
```

3. 请修改应用根目录下的 `config/entwechat.php` 中对应的项即可；
4. （可选）添加外观到 `config/app.php` 中的 `aliases` 部分:

```
'LaravelEntWechat' => Freyo\LaravelEntWechat\Facade::class,
```

### Lumen 应用

[](#lumen-应用)

```
WECHAT_APPID
WECHAT_SECRET
WECHAT_TOKEN
WECHAT_AES_KEY

WECHAT_LOG_LEVEL
WECHAT_LOG_FILE

WECHAT_OAUTH_SCOPES
WECHAT_OAUTH_CALLBACK

WECHAT_PAYMENT_MERCHANT_ID
WECHAT_PAYMENT_KEY
WECHAT_PAYMENT_CERT_PATH
WECHAT_PAYMENT_KEY_PATH
WECHAT_PAYMENT_DEVICE_INFO
WECHAT_PAYMENT_SUB_APP_ID
WECHAT_PAYMENT_SUB_MERCHANT_ID
```

3. 如果你习惯使用 `config/wechat.php` 来配置的话，将 `vendor/freyo/laravel-entwechat/src/config.php` 拷贝到`app/config`目录下，并将文件名改成`entwechat.php`。

使用
--

[](#使用)

### Laravel &lt;= 5.1

[](#laravel--51)

1. Laravel 5 起默认启用了 CSRF 中间件，因为微信的消息是 POST 过来，所以会触发 CSRF 检查导致无法正确响应消息，所以请去除默认的 CSRF 中间件，改成路由中间件。可以参考：[overtrue gist:Kernel.php](https://gist.github.com/overtrue/ff6cd3a4e869fbaf6c01#file-kernel-php-L31)
2. 5.1 里的 CSRF 已经带了可忽略部分url的功能，你可以参考：

### Laravel 5.2+

[](#laravel-52)

Laravel 5.2 以后的版本默认启用了 web 中间件，意味着 CSRF 会默认打开，有两种方案：

1. 在 CSRF 中间件里排除微信相关的路由
2. 关掉 CSRF 中间件（极不推荐）

下面以接收普通消息为例写一个例子：

> 假设您的域名为 `example.org` 那么请登录微信公众平台企业号 “应用中心” 选择一个应用启用回调模式，并修改 “URL（服务器配置）” 为： `http://example.org/wechat`。

路由：

```
Route::any('/wechat', 'WechatController@serve');
```

> 注意：一定是 `Route::any`, 因为微信服务端认证的时候是 `GET`, 接收用户消息时是 `POST` ！

然后创建控制器 `WechatController`：

```
