kaffe-software / laravel-omnipay
将 Omnipay 与 Laravel 集成,提供简单的配置。
Requires
- php: ^7.2.5|^8.0
- illuminate/support: ~6|~7|~8|~9|~10
- omnipay/common: ~3.0
This package is auto-updated.
Last update: 2024-09-20 20:00:50 UTC
README
将 Omnipay PHP 库与 Laravel 集成,轻松配置多个支付通道!
安装
在您的 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="KaffeSoftware\LaravelOmnipay\LaravelOmnipayServiceProvider" --tag=config
一旦发布了配置文件,您就可以将网关选项添加到 config/laravel-omnipay.php
中的配置文件。
PayPal Express 示例
以下是配置 PayPal Express 付款驱动程序的密码、用户名和签名的方法示例
... '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::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('paypal'); $response = Omnipay::purchase([ 'amount' => '100.00', 'card' => $cardInput ])->send(); dd($response->getMessage());
此外,您还可以创建网关的实例。
$gateway = Omnipay::gateway('paypal');
在其他框架上的安装
Lumen
对于 Lumen
,请将以下内容添加到您的 bootstrap/app.php
$app->register(KaffeSoftware\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 许可证 许可。