chistel / multi-payment
laravel 的多支付网关适配器
v0.0.3
2022-05-30 14:42 UTC
Requires
- php: ^7.3|^8.0|^8.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0|^7.0
- phpunit/phpunit: ^8.0|^9.0|^9.5
- roave/security-advisories: dev-latest
README
这是一个非常简单轻量级的包,允许您在不使用大量条件语句的情况下,在应用程序中添加多种支付方式,且不依赖任何库。
使用此包,您可以保持支付发起和验证的统一性。
安装
此包可以通过 Composer 安装。
composer require chistel/multi-payment
在 Laravel 5.5 及以上版本中,服务提供者将自动注册。在框架的旧版本中,只需将服务提供者添加到 config/app.php
文件中。
'providers'=> [ ... Chistel\MultiPayment\MultiPaymentServiceProvider::class, ];
可选地,您可以使用以下命令发布配置文件:
php artisan vendor:publish --provider="Chistel\MultiPayment\MultiPaymentServiceProvider" --tag="config"
此文件将发布到 config/multi-payment.php
中
return [ /* * An array of supported gateways */ 'gateways' => [ 'paystack' => [ 'name' => 'Paystack', 'driver' => PaystackGateway::class ] ] ];
使用方法
首先创建一个扩展 Chistel\MultiPayment\AbstractGateway
的网关类,该类应实现购买和完成方法。同时,还提供了几个用于发起和完成支付的行动类。
基于行动类,还提供了可以在支付成功或失败后用于监听的事件。它们返回网关名称、付款人和网关响应。
以下示例展示了如何通过 EventProvider 使用事件
PaymentWasSuccessful::class => [ PaymentSuccessfulListener::class ], PaymentWasUnsuccessful::class => [ PaymentUnsuccessfulListener::class ] ]
您的监听器应类似于以下示例
class PaymentSuccessfulListener { public function handle(PaymentWasSuccessful $event) { $payer = $event->user; $response = $event->responses $provider = $event->gateway; // Other code you want to added } }
查看完整的用法,请访问 综合演示仓库
测试
当前未进行测试
安全
如果您发现任何安全问题,请通过电子邮件 me@chistel.com 联系我,而不是使用问题跟踪器。