Package Data | |
---|---|
Maintainer Username: | adelowo |
Maintainer Contact: | me@lanreadelowo.com (Lanre Adelowo) |
Package Create Date: | 2017-03-29 |
Package Last Update: | 2019-01-21 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-20 03:00:21 |
Package Statistics | |
---|---|
Total Downloads: | 26 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 1 |
Total Forks: | 1 |
Total Open Issues: | 0 |
$ composer require adelowo/laravel-gbowo
GbowoServiceProvider
to the provider
key in config/app.php
Gbowo\Bridge\Laravel\GbowoServiceProvider::class
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.
aliases
key in config/app.php
"Gbowo" : Gbowo\Bridge\Laravel\Facades::class
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.
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']);
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
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