oseintow / baremetrics-api
一个简单方便地与baremetrics工作的包
v1.0.1
2019-05-16 22:48 UTC
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ^6.2
- illuminate/support: ^5.4
- vlucas/phpdotenv: ^3.3
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-09-20 10:42:50 UTC
README
Baremetrics-api 是一个简单的包,可以帮助您将 baremetrics 集成到您的应用程序中。
安装
将包添加到 composer.json
composer require oseintow/baremetrics-api
注意:创建账户并从 baremetrics 获取您的 api_key
对于 Laravel 用户
将服务提供者添加到 config/app.php 中的 providers 数组。
<?php 'providers' => [ ... Oseintow\Baremetrics\BaremetricsServiceProvider::class, ],
为 Facade 设置别名
<?php 'aliases' => [ ... 'Baremetrics' => Oseintow\Baremetrics\Facades\Baremetrics::class, ],
使用方法
此过程将使我们能够获取 baremetrics 的源数据
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']; } } });
要访问 API 资源,使用
Baremetrics::get("resource uri", ["query string params"]); Baremetrics::post("resource uri", ["post body"]); Baremetrics::put("resource uri", ["put body"]); Baremetrics::delete("resource uri");
使用我们的 api_key 从 baremetrics 获取计划。
注意:您可以使用此方法访问 baremetrics 上的任何资源(无论是计划、订阅、客户等)
$sourceId = "1233243"; $products = Baremetrics::setApiKey("xx-xxx-xx-xx-xx")->get("{$sourceId}/plans");
要传递查询参数
// returns Collection $sourceId = "1233243"; $baremetrics = Baremetrics::setApiKey("xx-xxx-xx-xx-xx"); $plans = $baremetrics->get(""{$sourceId}/plans", ["search"=> "xxx-xxxx-xxx"]);
控制器示例
如果您像我一样更喜欢使用依赖注入而不是 facade,则可以注入类
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'); } }
其他
获取响应头
Baremetrics::getHeaders();
获取特定头
Baremetrics::getHeader("Content-Type");
检查头是否存在
if(Baremetrics::hasHeader("Content-Type")){ echo "Yes header exist"; }
获取响应状态码或状态消息
Baremetrics::getStatusCode(); // 200 Baremetrics::getReasonPhrase(); // ok
对于 PHP 用户
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");