overtrue / laravel-payment
Omnipay ServiceProvider for Laravel.
Installs: 4 108
Dependents: 0
Suggesters: 0
Security: 0
Stars: 91
Watchers: 5
Forks: 19
Open Issues: 0
Requires
- php: >=7.0
- laravel/framework: ~5.0||~6.0||~7.0 || ^8.0
- league/omnipay: ^3.0
- php-http/guzzle7-adapter: ^0.1
Requires (Dev)
- mockery/mockery: ^0.9.9 || ^1.0.0
- overtrue/phplint: dev-master
- phpunit/phpunit: ~6.5 || ^7.0
This package is auto-updated.
Last update: 2024-10-29 05:16:24 UTC
README
💳 Omnipay ServiceProvider for Laravel.
Installing
$ composer require overtrue/laravel-payment -v
After updated composer, if you are using laravel version < 5.5, you need to register service provider:
// config/app.php 'providers' => [ //... Overtrue\LaravelPayment\ServiceProvider::class, ],
And publish the config file:
$ php artisan vendor:publish --provider=Overtrue\\LaravelPayment\\ServiceProvider
if you want to use facade mode, you can register a facade name what you want to use, for example LaravelPayment
:
// config/app.php 'aliases' => [ 'LaravelPayment' => Overtrue\LaravelPayment\Facade::class, // This is default in laravel 5.5 ],
configuration
// config/payments.php // The default gateway name which configured in `gateways` section. 'default_gateway' => 'paypal', // The default options for every gateways. 'default_options' => [ 'test_mode' => true, // ... ], /* * The gateways, you can config option by camel case or snake_case name. * * the option name is followed from gateway class, for example: * * $gateway->setMchId('overtrue'); * * you can configured as: * 'mch_id' => 'overtrue', * or: * 'mchId' => 'overtrue', */ 'gateways' => [ 'paypal' => [ 'driver' => 'PayPal_Express', 'options' => [ 'username' => env('PAYPAL_USERNAME'), 'password' => env('PAYPAL_PASSWORD'), 'signature' => env('PAYPAL_SIGNATURE'), 'test_mode' => env('PAYPAL_TEST_MODE'), ], ], // other gateways ],
install payment gateways
You need to install the gateway you want to use: omnipay#payment-gateways
Usage
Gateway instance:
LaravelPayment::gateway('GATEWAY NAME'); // GATEWAY NAME is key name of `gateways` configuration. LaravelPayment::gateway('alipay'); LaravelPayment::gateway('paypal');
Using default gateway:
LaravelPayment::purchase(...);
Example:
$formData = [ 'number' => '4242424242424242', 'expiryMonth' => '6', 'expiryYear' => '2030', 'cvv' => '123' ]; $response = LaravelPayment::purchase([ 'amount' => '10.00', 'currency' => 'USD', 'card' => $formData, ))->send(); if ($response->isRedirect()) { // redirect to offsite payment gateway $response->redirect(); } elseif ($response->isSuccessful()) { // payment was successful: update database print_r($response); } else { // payment failed: display message to customer echo $response->getMessage(); }
For more use about Omnipay, please refer to Omnipay Official Home Page
PHP 扩展包开发
想知道如何从零开始构建 PHP 扩展包?
请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》
License
MIT