renedekat/laravel-omnipay

此软件包的最新版本(2.2.5)没有可用的许可信息。

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

2.2.5 2018-03-13 09:37 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:42:36 UTC


README

Total Downloads Latest Version Dependency Status

通过 ServiceProvider 将 Omnipay PHP 库与 Laravel 5 集成,通过配置多个支付隧道变得非常简单!Omnipay

Laravel 4 支持

对于 Laravel 4,请参阅 版本 1.x

现在使用 Omnipay 2.3/2.5

从版本 2.0 开始,已更新为使用 Omnipay 2.3。

从版本 2.2 开始使用 Omnipay 2.5

Composer 配置

将 laravel-omnipay 软件包作为依赖项包含在您的 composer.json

"ignited/laravel-omnipay": "2.*"

注意:您不需要在 composer.json 中包含 omnipay/common - 这是 laravel-omnipay 软件包的要求。

Omnipay 最近进行了重构,使得每个软件包现在都有一个单独的存储库。 omnipay/common 软件包包含核心框架。然后您需要根据需要包含每个网关。例如

"omnipay/eway": "*"

或者,您可以通过要求包括每个网关

"omnipay/omnipay": "*"

注意:这需要大量的 composer 工作,因为它需要获取每个单独的存储库。这不建议。

安装

运行 composer install 下载依赖项。

Laravel 5

config/app.php 中的 providers 数组中添加 ServiceProvider

'providers' => [

	'Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider',

]

Omnipay 门面添加到您的 facades 数组

	'Omnipay' => 'Ignited\LaravelOmnipay\Facades\OmnipayFacade',

最后,通过 php artisan vendor:publish 发布配置文件。

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 中的配置文件中添加您的网关选项。

用法

$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');