ignited/laravel-omnipay 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ignited/laravel-omnipay

最新稳定版本:3.7.0

Composer 安装命令:

composer require ignited/laravel-omnipay

包简介

Integrates Omnipay with Laravel and provides an easy configuration.

README 文档

README

Total Downloads Latest Version

Integrates the Omnipay PHP library with Laravel to make Configuring multiple payment tunnels a breeze!

Installation

Include the laravel-omnipay package as a dependency in your composer.json:

composer require ignited/laravel-omnipay "3.*"

Note: You don't need to include the omnipay/common in your composer.json - it has already been included laravel-omnipay.

Install Required Providers

Now just include each gateway as you require, to included PayPal for example:

composer require omnipay/paypal "3.*"

Alternatively you can include every gateway by the following:

composer require omnipay/omnipay "3.*"

Note: this requires a large amount of composer work as it needs to fetch each seperate repository. This is not recommended.

Configuration

You can publish the configuration files using the vendor:publish command.

php artisan vendor:publish --provider="Ignited\LaravelOmnipay\LaravelOmnipayServiceProvider" --tag=config

Once you have published the configuration files, you can add your gateway options to the config file in config/laravel-omnipay.php.

PayPal Express Example

Here is an example of how to configure password, username and, signature with paypal express checkout driver

...
'gateways' => [
    'paypal' => [
        'driver'  => 'PayPal_Express',
        'options' => [
            'username'  => 'coolusername',
            'password'  => 'strongpassword',
            'signature' => '',
            'solutionType' => '',
            'landingPage'    => '',
            'headerImageUrl' => '',
            'brandName' =>  'Your app name',
            'testMode' => true
        ]
    ],
]
...

Usage

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

This will use the gateway specified in the config as default.

However, you can also specify a gateway to use.

Omnipay::setGateway('paypal');

$response = Omnipay::purchase([
	'amount' => '100.00',
	'card'   => $cardInput
])->send();

dd($response->getMessage());

In addition you can make an instance of the gateway.

$gateway = Omnipay::gateway('paypal');

Installation on Other Frameworks

Lumen

For Lumen add the following in your bootstrap/app.php

$app->register(Ignited\LaravelOmnipay\LumenOmnipayServiceProvider::class);

Copy the laravel-omnipay.php file from the config directory to config/laravel-omnipay.php

And also add the following to bootstrap/app.php

$app->configure('laravel-omnipay');

Guzzle

If you are using Guzzle 6 you need to require the following package.

composer require php-http/guzzle6-adapter

Guzzle 7 now implements a PSR http client compliant adapter. So there is no need to include this.

License

This package is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 1.03M
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 524
  • 点击次数: 1
  • 依赖项目数: 15
  • 推荐数: 0

GitHub 信息

  • Stars: 518
  • Watchers: 16
  • Forks: 96
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-10-18