eklundkristoffer / laravel-omnipay
Laravel 的 Omnipay 服务提供商
v0.1.4
2017-08-21 18:19 UTC
Requires
- php: >=5.3.0
- illuminate/support: 5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.5-dev
- omnipay/common: ~2.0
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);