barryvdh / laravel-omnipay
Laravel 的 Omnipay 服务提供商
v0.2.4
2022-02-04 18:54 UTC
Requires
- illuminate/support: ^5|^6|^7|^8|^9.0
- league/omnipay: ~3.0
README
这是一个用于集成 Omnipay 与 Laravel 的包。您可以使用它轻松管理配置,并通过 Facade 提供对网关的快捷方式。
安装
使用 composer 安装此包。
$ composer require barryvdh/laravel-omnipay
5.5 之前的 Laravel:更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组
'Barryvdh\Omnipay\ServiceProvider',
您需要发布此包的配置。提供了一个示例配置。默认值将与网关特定配置合并。
$ php artisan vendor:publish --provider=Barryvdh\Omnipay\ServiceProvider
要使用 Facade(《Omnipay::purchase()` 替代 App::make('omnipay')->purchase()
),请将其添加到 facades 数组。
'Omnipay' => 'Barryvdh\Omnipay\Facade',
调用 Omnipay Facade/实例时,将根据配置创建默认网关。您可以通过调用 Omnipay::setDefaultGateway('My\Gateway')
来更改默认网关。您可以通过调用 Omnipay::gateway('My\Gateway')
来获取不同的网关
示例
$params = [ 'amount' => $order->amount, 'issuer' => $issuerId, 'description' => $order->description, 'returnUrl' => URL::action('PurchaseController@return', [$order->id]), ]; $response = Omnipay::purchase($params)->send(); if ($response->isSuccessful()) { // payment was successful: update database print_r($response); } elseif ($response->isRedirect()) { // redirect to offsite payment gateway return $response->getRedirectResponse(); } else { // payment failed: display message to customer echo $response->getMessage(); }
除了网关调用外,还有一个用于信用卡的快捷方式
$formInputData = [ 'firstName' => 'Bobby', 'lastName' => 'Tables', 'number' => '4111111111111111', ]; $card = Omnipay::CreditCard($formInputData);