allanvb / laravel-walletone
将 walletone.com 支付网关集成到 Laravel 的插件
Requires
- php: >=7.0
- illuminate/support: ^5.5 || ^6 || ^7
This package is auto-updated.
Last update: 2024-09-12 05:54:30 UTC
README
Laravel 包,用于将 WalletOne 支付网关集成到 Laravel 应用程序中
将 WalletOne API 集成到您的 Laravel 应用程序的包。
安装
通过 Composer
$ composer require allanvb/laravel-walletone
如果您使用的是 Laravel 5.5 或更高版本,则该包将自动注册提供者和外观。
Laravel 5.4 及以下版本
将 Allanvb\LaravelWalletOne\Providers\WalletoneServiceProvider
添加到 config/app.php
文件中的 providers
数组
'providers' => [ // Other service providers... Allanvb\LaravelWalletOne\Providers\WalletoneServiceProvider::class, ],
在 config/app.php
中添加别名
'aliases' => [ ... 'WalletOne' => Allanvb\LaravelWalletOne\Facades\WalletOne::class, ],
或者您可以在需要时使用外观类
use Allanvb\LaravelWalletOne\Facades\WalletOne;
配置
您可以使用 php artisan vendor:publish
命令将配置文件复制到您的应用程序配置目录
$ php artisan vendor:publish --provider="Allanvb\LaravelWalletOne\Providers\WalletoneServiceProvider" --tag="config"
然后更新 config/wallet-one.php
文件,使用您的凭证。您还可以更新 .env
文件,如下所示
WALLETONE_MERCHANT=merchant_id WALLETONE_SECRET=secret_key WALLETONE_SIGNATURE=signature_method WALLETONE_CURRENCY=currency WALLETONE_SUCCESS=success_url WALLETONE_FAIL=fail_url
使用方法
要使用 WalletOne 库,您可以访问外观,或从服务容器请求实例
WalletOne::make($orderID, $amount, $description, $options);
或者
app('walletone')->make($orderID, $amount, $description, $options);
参数
$orderID
- (string) 用户在您的电子商务网站上的订单 ID (必填).$amount
- (float) 用户需要支付的钱的金额 (必填).$description
- (string) 支付描述 (必填).$options
- (array) 您希望保存到 WalletOne 服务或从响应中获取的其他选项。
为了为用户创建支付表单,您必须使用 getParams()
方法获取所有 POST 参数。
$params = WalletOne::getParams();
然后将这些参数发送到您的视图并创建表单。
将表单的 action 属性设置为 WalletOne::API_URL
。
为了从 WalletOne 服务获取响应,您必须在您的 web.php
文件中定义一个 post
路由。该路由应使用 \Allanvb\LaravelWalletOne\Http\Middleware\WalletonePay::class
中间件。
您可以将此中间件添加到 Kernel.php
文件中的 App\Http
目录。
protected $routeMiddleware = [ // Other service providers... 'walletone-payment' => \Allanvb\LaravelWalletOne\Http\Middleware\WalletonePay::class ];
然后您可以使用它如下
Route::post('/payment-webhook', 'YourController')->middleware('walletone-payment');
注意
- 您的控制器应该返回
WalletOne::response()
方法! - 别忘了将您的路由添加到
VerifyCsrfToken
中间件的$except
参数中!
对您的路由的每个请求将生成一个 SuccessPayment
或 FailedPayment
事件,因此您只需要为每个事件定义一个事件监听器。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件发送至 alan.vb@mail.ru,而不是使用问题跟踪器。
致谢
此包实际上是 pdazcom/laravel-walletone 的延续,该包的作者是 Konstantin A.。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。