adelowo / laravel-gbowo
Laravel bridge for the Gbowo payment library
Requires
- php: ^7.0
- adelowo/gbowo: ^1.4
- laravel/framework: ^5.1
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2024-10-21 23:01:43 UTC
README
Installation
$ composer require adelowo/laravel-gbowo
- Append the
GbowoServiceProvider
to theprovider
key inconfig/app.php
Gbowo\Bridge\Laravel\GbowoServiceProvider::class
- Set up a default adapter in
config/services.php
<?php //...other config values "gbowo" => [ "default" => "paystack" ];
This step is optionally but can be helpful when you are certain you wouldn't be switching adapters in multiple places in your app.
Only paystack and amplifypay are currently supported.
- Optional, you can also make use of facades by adding this to the
aliases
key inconfig/app.php
"Gbowo" : Gbowo\Bridge\Laravel\Facades::class
Usage
Gbowo's official doc is highly recommendeded.
class BillingController extends Controller { public function chargeCustomer(Request $request) { $adapter = app("gbowo")->adapter("paystack"); // $adapter = app("gbowo")->adapter("amplifypay"); $data = ["email" => $request->get('email') , "amount" => $request->get('amount')]; return redirect($adapter->charge($data)); } }
Calling the
adapter
method without passing in an adapter name would return an instance of the default adapter set in the config file.
Adding custom adapters
If you have written a custom adapter, you can include this in your app by doing what is obtainable below in a ServiceProvider
of your choice.
$config = ["key" => "value", "other" => "stuff"]; //some bootstrap options your adapter might need. $this->app["gbowo"]->extend("voguepay" , function() use ($config)){ return new VoguePayAdapter($config); });
And you can access this new adapter anywhere in your code via
$voguePay = app("gbowo")->adapter("voguePay"); $voguePay->charge(['c' => 'd']);
Facades
use Gbowo\Bridge\Laravel\Facades Gbowo::adapter("paystack")->charge([]) //You can call any method on the facade as you would in the normal instance. Do check the api methods
API methods
createPaystackAdapter()
createAmplifyPayAdapter()
extend(string $adapterName, Closure $callback)
adapter(string $name = null)
If
$name
is left null, the default adapter would be fetched by inspecting the value ofconfig.services.gbowo.default