ajadipaul / laravel-payment-hub
一个综合且通用的包,旨在将多个支付网关集成到您的Laravel应用程序中。此包支持多种流行的支付选项。使用Laravel Payment Hub,您可以无缝处理支付,确保开发者和用户都能获得流畅和统一的体验。该包为所有支持的网关提供了一个标准化的接口,简化了在不同支付提供商之间切换的过程,而无需显著修改您的代码库。使用Laravel Payment Hub轻松灵活地增强您Laravel应用程序的支付功能。
v1.0.0
2024-08-31 22:27 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.8
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.6
README
一个综合且通用的包,旨在将多个支付网关集成到您的Laravel应用程序中。此包支持多种流行的支付选项。使用Laravel Payment Hub,您可以无缝处理支付,确保开发者和用户都能获得流畅和统一的体验。该包为所有支持的网关提供了一个标准化的接口,简化了在不同支付提供商之间切换的过程,而无需显著修改您的代码库。使用Laravel Payment Hub轻松灵活地增强您Laravel应用程序的支付功能。
安装
您可以通过composer安装此包
composer require ajadipaul/laravel-payment-hub
用法
// API keys to the .env file PAYSTACK_PUBLIC_KEY=your_paystack_public_key PAYSTACK_SECRET_KEY=your_paystack_secret_key FLUTTERWAVE_PUBLIC_KEY=your_flutterwave_public_key FLUTTERWAVE_SECRET_KEY=your_flutterwave_secret_key // Publish the configuration file to your application php artisan vendor:publish --provider="Ajadipaul\LaravelPaymentHub\LaravelPaymentHubServiceProvider" // Application Code Usage class PaymentController extends Controller { protected $paystack; protected $flutterwave; public function __construct() { $paystackConfig = config('paymenthub.paystack'); $flutterwaveConfig = config('paymenthub.flutterwave'); $this->paystack = new PaystackService(); $this->paystack->initialize($paystackConfig); $this->flutterwave = new FlutterwaveService(); $this->flutterwave->initialize($flutterwaveConfig); } public function chargeWithPaystack() { $data = [ 'amount' => 5000, // Amount in Naira 'email' => 'user@example.com', 'callback_url' => route('payment.callback'), ]; $response = $this->paystack->charge($data); if ($response['status'] === 'success') { return redirect($response['authorization_url']); } return redirect()->back()->withErrors($response['message']); } public function chargeWithFlutterwave() { $data = [ 'amount' => 5000, // Amount in Naira 'currency' => 'NGN', 'email' => 'user@example.com', 'callback_url' => route('payment.callback'), ]; $response = $this->flutterwave->charge($data); if ($response['status'] === 'success') { return redirect($response['link']); } return redirect()->back()->withErrors($response['message']); } public function verifyTransaction($transactionId) { $response = $this->paystack->verify($transactionId); if ($response['status'] === 'success') { // Handle successful verification, e.g., updating order status } else { // Handle verification failure } } }
测试
composer test
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 获取详细信息。
安全性
如果您发现任何安全相关的问题,请通过电子邮件 ajadi.ololade@gmail.com 而不是使用问题跟踪器。
鸣谢
许可证
GNU AGPLv。请参阅 许可证文件 以获取更多信息。
Laravel包模板
此包是使用 Laravel包模板 生成的。