基于EasyWechat v6 的webman支付插件

v8.3.32
版本
2025-08-30
版本更新時間
66
安裝
0
star
基于EasyWechat的webman支付插件
安裝
composer require ledc/easywechat
使用
開箱即用,只需要傳入一個配置即可:
use Ledc\EasyWechat\PayConfigManager;
use Ledc\EasyWechat\Enums\TerminalEnum;
// 可在Bootstrap,全局注入配置
PayConfigManager::set(function (TerminalEnum $terminalEnum) {
// TODO... 從數(shù)據(jù)庫讀取配置,然后返回
return [];
});
在創(chuàng)建實例后,所有的方法都可以有IDE自動補全;例如:
use Ledc\EasyWechat\Enums\TerminalEnum;
use Ledc\EasyWechat\PayService;
// 用戶支付終端
$terminal = $request->post('terminal');
$terminalEnum = TerminalEnum::from((int)$terminal);
$payService = new PayService($terminalEnum);
$attach = '業(yè)務附加數(shù)據(jù)(微信支付成功后,原樣返回)';
// 待支付的訂單數(shù)據(jù)(可以看微信官方文檔或跟蹤進pay方法查看參數(shù),按實際需要的傳)
$order = [
'description' => '購買會員',
'out_trade_no' => uniqid(),
'amount' => 1,
];
// 統(tǒng)一支付
$result = $payService->pay($attach, $order);
微信支付回調URL
https://您的域名/wechat/pay/callback
具體處理邏輯在:
\Ledc\EasyWechat\PayNotifyService::handle
處理支付回調的最佳實踐:
注冊webman事件,監(jiān)聽 \Ledc\EasyWechat\Enums\EventEnum
的三個事件即可;
修改 config/event.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
微信公眾號網(wǎng)頁授權登錄授權完成后,重定向URL
https://您的域名/wechat/account/oauth/redirect
具體處理邏輯在:
\Ledc\EasyWechat\OfficialAccount\OauthMiddleware::redirect
注:使用微信公眾號網(wǎng)頁授權時,請在中間件配置中,添加此中間件
\Ledc\EasyWechat\OfficialAccount\OauthMiddleware::class