liyu / laravel-omnipay
此包尚未发布任何版本,且信息较少。
README
通过ServiceProvider将Omnipay PHP库与Laravel 5集成,通过配置多个支付通道变得轻而易举!
Laravel 4 支持
有关Laravel 4,请查看版本 1.x树
现在使用Omnipay 2.3/2.5
从版本 2.0
开始已更新为使用Omnipay 2.3。
从版本 2.2
开始使用Omnipay 2.5。
从版本 2.3
开始支持Laravel 5.4。
Omnipay 3 支持
从版本 3.0
开始支持Omnipay 3.0和Laravel 5.3、5.4、5.5、5.6、5.7。
Composer配置
在您的composer.json
中将laravel-omnipay包作为依赖项添加
composer require liyu/laravel-omnipay "3.*"
注意:您不需要在composer.json中包含omnipay/common
- 它是laravel-omnipay
包的要求。
Omnipay最近进行了重构,使得每个包现在都有自己的仓库。omnipay/common
包包括核心框架。然后您需要根据需要包含每个网关。例如
composer require omnipay/eway "3.*"
或者您可以通过要求包含每个网关
composer require omnipay/omnipay "3.*"
注意:这需要大量composer工作,因为它需要获取每个单独的仓库。不推荐这样做。
Laravel 5
在config/app.php
中将ServiceProvider添加到providers数组中
'providers' => [ Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider::class ]
将Omnipay
外观添加到您的外观数组
'Omnipay' => Ignited\LaravelOmnipay\Facades\OmnipayFacade::class
最后,发布配置文件
php artisan vendor:publish --provider="Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider" --tag=config
Lumen
对于Lumen
,在您的bootstrap/app.php中添加以下内容
$app->register(Ignited\LaravelOmnipay\LumenOmnipayServiceProvider::class);
将config目录中的laravel-omnipay.php文件复制到config/laravel-omnipay.php
并将以下内容添加到bootstrap/app.php中
$app->configure('laravel-omnipay');
配置
一旦发布配置文件,您就可以在config/laravel-omnipay.php中的配置文件中添加您的网关选项。
PayPal Express 示例
以下是配置密码、用户名和签名与PayPal Express支付驱动程序的示例
... 'gateways' => [ 'paypal' => [ 'driver' => 'PayPal_Express', 'options' => [ 'username' => env( 'OMNIPAY_PAYPAL_EXPRESS_USERNAME', '' ), 'password' => env( 'OMNIPAY_PAYPAL_EXPRESS_PASSWORD', '' ), 'signature' => env( 'OMNIPAY_PAYPAL_EXPRESS_SIGNATURE', '' ), 'solutionType' => env( 'OMNIPAY_PAYPAL_EXPRESS_SOLUTION_TYPE', '' ), 'landingPage' => env( 'OMNIPAY_PAYPAL_EXPRESS_LANDING_PAGE', '' ), 'headerImageUrl' => env( 'OMNIPAY_PAYPAL_EXPRESS_HEADER_IMAGE_URL', '' ), 'brandName' => 'Your app name', 'testMode' => env( 'OMNIPAY_PAYPAL_TEST_MODE', true ) ] ], ] ...
使用方法
$cardInput = [ 'number' => '4444333322221111', 'firstName' => 'MR. WALTER WHITE', 'expiryMonth' => '03', 'expiryYear' => '16', 'cvv' => '333', ]; $card = Omnipay::creditCard($cardInput); $response = Omnipay::purchase([ 'amount' => '100.00', 'returnUrl' => 'http://bobjones.com/payment/return', 'cancelUrl' => 'http://bobjones.com/payment/cancel', 'card' => $cardInput ])->send(); dd($response->getMessage());
这将使用配置中指定的网关作为default
。
但是,您也可以指定要使用的网关。
Omnipay::setGateway('eway'); $response = Omnipay::purchase([ 'amount' => '100.00', 'card' => $cardInput ])->send(); dd($response->getMessage());
此外,您还可以获取网关的实例。
$gateway = Omnipay::gateway('eway');