ledc/easywechat

Webman plugin ledc/easywechat

v8.3.6 2024-11-08 07:06 UTC

This package is auto-updated.

Last update: 2024-11-08 07:07:31 UTC


README

安装

composer require ledc/easywechat

使用

开箱即用,只需要传入一个配置即可:

use Ledc\EasyWechat\PayConfigManager;
use Ledc\EasyWechat\Enums\TerminalEnum;

// 可在Bootstrap,全局注入配置
PayConfigManager::set(function (TerminalEnum $terminalEnum) {
    // TODO... 从数据库读取配置,然后返回
    return [];
});

在创建实例后,所有的方法都可以有IDE自动补全;例如:

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 ,加入:

use Ledc\EasyWechat\Enums\EventEnum;

return [
    // 微信支付回调通知:所有事件消息
    EventEnum::wechat_pay_any->value => [],
    // 微信支付回调通知:支付成功事件
    EventEnum::wechat_pay_success->value => [
        [WechatPaySuccessListener::class, 'handle'],
    ],
    // 微信支付回调通知:退款成功事件
    EventEnum::wechat_pay_refunded->value => [],
];

二次开发

捐赠

reward