kaffe-software/laravel-omnipay

将 Omnipay 与 Laravel 集成,提供简单的配置。

dev-master / 3.0.x-dev 2023-09-20 17:48 UTC

This package is auto-updated.

Last update: 2024-09-20 20:00:50 UTC


README

Total Downloads Latest Version

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 许可证 许可。