dev-master
9999999-devA package to easily work with baremetrics
MIT
The Requires
The Development Requires
by michael osei ntow
v1.0.0
1.0.0.0A package to easily work with baremetrics
MIT
The Requires
The Development Requires
by michael osei ntow
Wallogit.com
2017 © Pedro Peláez
A package to easily work with baremetrics
Baremetrics-api is a simple package which helps to integrate baremetrics into your app., (*1)
Add package to composer.json, (*2)
composer require oseintow/baremetrics-api
NB: Create account and Obtain your api_key from baremetrics, (*3)
Add the service provider to config/app.php in the providers array., (*4)
<?php
'providers' => [
...
Oseintow\Baremetrics\BaremetricsServiceProvider::class,
],
Setup alias for the Facade, (*5)
<?php
'aliases' => [
...
'Baremetrics' => Oseintow\Baremetrics\Facades\Baremetrics::class,
],
This process will enable us to obtain the baremetrics sources, (*6)
use Oseintow\Baremetrics\Facades\Baremetrics;
Route::get("baremetric_sources",function()
{
// If you have "BAREMETRICS_API_KEY" set in your env file then the will be no need to set `setApiKey`
$apiKey = "xx-xx-x-xx-xx-xx"
// Use isLiveMode to set your mode to production / sandbox
// True for production and false for sandbox
// It is false by default
$response = Baremetrics::setApiKey($apikey)->isLiveMode(true)->get("sources");
$sourceId = "";
foreach($response['sources] as $sourece){
if($source['provider'] == "baremetrics"){
$sourceId = $source['id'];
}
}
});
To access API resource use, (*7)
Baremetrics::get("resource uri", ["query string params"]);
Baremetrics::post("resource uri", ["post body"]);
Baremetrics::put("resource uri", ["put body"]);
Baremetrics::delete("resource uri");
Let use our api key to get plans from baremetrics., (*8)
NB: You can use this to access any resource on baremetrics (be it plans, subscription, customers, etc), (*9)
$sourceId = "1233243";
$products = Baremetrics::setApiKey("xx-xxx-xx-xx-xx")->get("{$sourceId}/plans");
To pass query params, (*10)
// returns Collection
$sourceId = "1233243";
$baremetrics = Baremetrics::setApiKey("xx-xxx-xx-xx-xx");
$plans = $baremetrics->get(""{$sourceId}/plans", ["search"=> "xxx-xxxx-xxx"]);
If you prefer to use dependency injection over facades like me, then you can inject the Class:, (*11)
use Illuminate\Http\Request;
use Oseintow\Baremetrics\Baremetrics;
class Foo
{
protected $baremetrics;
public function __construct(Baremetrics $baremetrics)
{
$this->baremetrics = $baremetrics;
}
/*
* returns Collection
*/
public function getPlans(Request $request)
{
$sourceId = "xxxx-xx-xx";
$plans = $this->baremetrics->setApiKey("xx-xxx-xx-xx-xx")
->get('{$sourceId}/plans');
}
}
To get Response headers, (*12)
Baremetrics::getHeaders();
To get specific header, (*13)
Baremetrics::getHeader("Content-Type");
Check if header exist, (*14)
if(Baremetrics::hasHeader("Content-Type")){
echo "Yes header exist";
}
To get response status code or status message, (*15)
Baremetrics::getStatusCode(); // 200 Baremetrics::getReasonPhrase(); // ok
use Oseintow\Baremetrics\Baremetrics;
$baremetrics = new Baremetrics();
$sources = $baremetrics->isLiveMode(true)->setApiKey("xxx-xxxx-xxxx-xxx-xx")->get("sources");
$sourceId= "123456";
$plans = $baremetrics->get("{$sourceid}/plans");
A package to easily work with baremetrics
MIT
A package to easily work with baremetrics
MIT