基于EasyWechat v6 的webman支付插件

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