Omnipay for Laravel & Lumen
This repository is empty
Translated by AI, submit an issue feedback
Laravel & Lumen 的 Omnipay 集成
Laravel 和 Lumen 集成了 Omnipay PHP 库,使得配置多个支付网关变得轻而易举!
安装
在你的项目 composer.json 中添加 laravel-omnipay 包作为依赖:
composer require ignited/laravel-omnipay "3.*"
注意: 无需在你的 composer.json 文件中包含 omnipay/common,因为 laravel-omnipay 已经包含了它。
安装所需服务提供者
根据需要引入每个支付网关,例如要安装 PayPal:
composer require omnipay/paypal "3.*"
或者,如果你想一次性安装所有网关:
composer require omnipay/omnipay "3.*"
注意: 这会执行大量 Composer 操作,因为它需要获取每个单独的仓库,不推荐这样做。
配置
可以使用 vendor:publish 命令发布配置文件:
php artisan vendor:publish --provider="Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider" --tag=config
一旦发布了配置文件,你可以在 config/laravel-omnipay.php 文件中添加你的网关选项。
PayPal 快捷支付示例
这是一个配置 PayPal 快捷支付驱动器(包括用户名、密码和签名)的例子:
...
'gateways' => [
'paypal' => [
'driver' => 'PayPal_Express',
'options' => [
'username' => 'coolusername',
'password' => 'strongpassword',
'signature' => '',
'solutionType' => '',
'landingPage' => '',
'headerImageUrl' => '',
'brandName' => 'Your app name',
'testMode' => true
]
],
]
...
使用方法
$cardInput = [
'number' => '4444333322221111',
'firstName' => 'MR. WALTER WHITE',
'expiryMonth' => '03',
'expiryYear' => '16',
'cvv' => '333',
];
$card = Omnipay::createCreditCard($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());
这将会使用配置文件中默认指定的网关。
然而,你也可以指定要使用的网关:
Omnipay::setGateway('paypal');
$response = Omnipay::purchase([
'amount' => '100.00',
'card' => $cardInput
])->send();
dd($response->getMessage());
另外,你可以创建一个网关实例:
$gateway = Omnipay::getGateway('paypal');
在其他框架中的安装
Lumen
对于 Lumen,请在你的 bootstrap/app.php 中加入以下代码:
$app->register(Ignited\LaravelOmnipay\LumenOmnipayServiceProvider::class);
将配置文件 laravel-omnipay.php 复制到 config/laravel-omnipay.php。
同时,在 bootstrap/app.php 中添加:
$app->configure('laravel-omnipay');
Guzzle
如果你使用的是 Guzzle 6,你需要添加以下包:
composer require php-http/guzzle6-adapter
对于 Guzzle 7,它现在实现了符合 PSR HTTP 客户端的适配器,因此不需要这个步骤。
许可证
此软件包是开源软件,遵循 MIT 许可证。