https://github.com/ledccn/ledc-easywechat
基于EasyWechat的webman支付插件
https://github.com/ledccn/ledc-easywechat
Last synced: about 1 year ago
JSON representation
基于EasyWechat的webman支付插件
- Host: GitHub
- URL: https://github.com/ledccn/ledc-easywechat
- Owner: ledccn
- Created: 2024-10-07T07:18:02.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-28T14:58:47.000Z (about 1 year ago)
- Last Synced: 2025-04-17T08:59:24.716Z (about 1 year ago)
- Language: PHP
- Size: 104 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 基于EasyWechat的webman支付插件
## 安装
`composer require ledc/easywechat`
## 使用
开箱即用,只需要传入一个配置即可:
```php
use Ledc\EasyWechat\PayConfigManager;
use Ledc\EasyWechat\Enums\TerminalEnum;
// 可在Bootstrap,全局注入配置
PayConfigManager::set(function (TerminalEnum $terminalEnum) {
// TODO... 从数据库读取配置,然后返回
return [];
});
```
在创建实例后,所有的方法都可以有IDE自动补全;例如:
```php
use Ledc\EasyWechat\Enums\TerminalEnum;
use Ledc\EasyWechat\PayService;
// 用户支付终端
$terminal = $request->post('terminal');
$terminalEnum = TerminalEnum::from((int)$terminal);
$payService = new PayService($terminalEnum);
$attach = '业务附加数据(微信支付成功后,原样返回)';
// 待支付的订单数据(可以看微信官方文档或跟踪进pay方法查看参数,按实际需要的传)
$order = [
'description' => '购买会员',
'out_trade_no' => uniqid(),
'amount' => 1,
];
// 统一支付
$result = $payService->pay($attach, $order);
```
## 微信支付回调URL
`https://您的域名/wechat/pay/callback`
具体处理逻辑在:
`\Ledc\EasyWechat\PayNotifyService::handle`
### 处理支付回调的最佳实践:
注册webman事件,监听 `\Ledc\EasyWechat\Enums\EventEnum` 的三个事件即可;
修改 `config/event.php` ,加入:
```php
use Ledc\EasyWechat\Enums\EventEnum;
return [
// 微信支付回调通知:所有事件消息
EventEnum::wechat_pay_any->value => [],
// 微信支付回调通知:支付成功事件
EventEnum::wechat_pay_success->value => [
[WechatPaySuccessListener::class, 'handle'],
],
// 微信支付回调通知:退款成功事件
EventEnum::wechat_pay_refunded->value => [],
];
```
## 微信公众号消息回调URL
`https://您的域名/wechat/account/callback`
具体处理逻辑在:
`\Ledc\EasyWechat\WechatService::handle`
## 微信公众号网页授权登录授权完成后,重定向URL
`https://您的域名/wechat/account/oauth/redirect`
具体处理逻辑在:
`\Ledc\EasyWechat\OfficialAccount\OauthMiddleware::redirect`
注:使用微信公众号网页授权时,请在中间件配置中,添加此中间件
`\Ledc\EasyWechat\OfficialAccount\OauthMiddleware::class`
## 二次开发
## 捐赠
