eklundkristoffer/laravel-omnipay

Laravel 的 Omnipay 服务提供商

v0.1.4 2017-08-21 18:19 UTC

This package is auto-updated.

Last update: 2024-09-12 19:38:57 UTC


README

对于 Laravel 4,请使用 0.1 版本

这是一个用于将 Omnipay 集成到 Laravel 的包。您可以使用它轻松管理您的配置,并通过 Facade 提供对网关的快捷访问。

安装

在您的 composer.json 中要求此包,并运行 composer update(或直接运行 composer require barryvdh/laravel-omnipay:0.2.x

"barryvdh/laravel-omnipay": "0.2.*@dev"

更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组

'Barryvdh\Omnipay\ServiceProvider',

您需要发布此包的配置。提供了一个示例配置。默认值将与网关特定配置合并。

$ php artisan vendor:publish

要使用 Facade(《Omnipay::purchase()’代替《App::make(omnipay)->purchase()》),请将其添加到 facades 数组。

 'Omnipay' => 'Barryvdh\Omnipay\Facade',

调用 Omnipay Facade/实例时,它将根据配置创建默认网关。您可以通过调用 Omnipay::setDefaultGateway('My\Gateway') 来更改默认网关。您可以通过调用 Omnipay::gateway('My\Cass') 来获取不同的网关

示例

$params = [
    'amount' => $order->amount,
    'issuer' => $issuerId,
    'description' => $order->description,
    'returnUrl' => URL::action('PurchaseController@return', [$order->id]),
];
$response = Omnipay::purchase($params)->send();

if ($response->isSuccessful()) {
    // payment was successful: update database
    print_r($response);
} elseif ($response->isRedirect()) {
    // redirect to offsite payment gateway
    return $response->getRedirectResponse();
} else {
    // payment failed: display message to customer
    echo $response->getMessage();
}

除了网关调用外,还有对信用卡的快捷方式

$formInputData = array(
    'firstName' => 'Bobby',
    'lastName' => 'Tables',
    'number' => '4111111111111111',
);
$card = Omnipay::CreditCard($formInputData);