adewalecharles / smeify
轻松将Smeify集成到您的应用程序中
v1.0.5
2021-11-01 11:47 UTC
Requires
- guzzlehttp/guzzle: ^7.0.1
README
Smeify是尼日利亚空中和数据处理业务的稳定自动解决方案,此包帮助您轻松将Smeify集成到Laravel应用程序中。
安装
需要PHP 7.4.3+和Composer。
要获取adewalecharles/smeify的最新版本,只需要求它。
composer require adewalecharles/smeify
或者将以下行添加到您的composer.json
文件中的require块。
"adewalecharles/smeify": "1.0.*"
然后,您需要运行composer install
或composer update
来下载它并更新自动加载器。
安装adewalecharles/smeify后,您需要注册服务提供者。打开config/app.php
并将以下内容添加到providers
键。
'providers' => [ ... AdewaleCharles\Smeify\SmeifyServiceProvider::class, ... ]
配置
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="AdewaleCharles\Smeify\SmeifyServiceProvider"
将名为smeify.php
的配置文件(包含一些合理的默认值)放置在您的config
目录中
<?php /* * This file is part of the adewalecharles/smeify package. * * (c) Adewale Ogundiran Charles <shyprince1@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ return [ /* |-------------------------------------------------------------------------- | Authentication Defaults |-------------------------------------------------------------------------- | | This is the authentication credentials you will need to use this package | */ 'identity' => env('SMEIFY_IDENTITY', null), 'password' => env('SMEIFY_PASSWORD', null), ];
用法
打开您的.env文件,并添加您的smeify登录凭据,如下所示
SMEIFY_IDENTITY = *your smeify username or email* SMEIFY_PASSWORD = xxxxxxxx
如果您使用的是像heroku这样的托管服务,请确保将上述详细信息添加到您的配置变量中。
然后,您需要迁移您的数据库
php artisan migrate
通用用法
要从Smeify获取数据计划列表,只需调用Smeify辅助方法,如下所示
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index() { return Smeify::getDataPlans(); } }
要从Smeify获取所有交易列表,只需调用Smeify辅助方法,如下所示
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index() { return Smeify::getTransactions(); } }
要启动空中交易,只需调用Smeify辅助方法,如下所示
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index(Request $request) { $data = array( 'phones' => $request['phones'], 'amount' => $request['amount'], 'network' => $request['network'], 'type' => $request['type'] //network can be SAS or VTU ) $response = Smeify::airtime($data); // Then you can do whatever you want with the response either charge your users or log it... } }
要启动数据交易,只需调用Smeify辅助方法,如下所示
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index(Request $request) { $data = array( 'phones' => $plan['phones'], 'plan' => $plan['plan'], //plan is the id of the plan you got when you called the getDataPlans() method. ) $response = Smeify::data($data); // Then you can do whatever you want with the response either charge your users or log it... } }
要根据特定网络获取数据计划,请调用此包辅助方法,如下所示。
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index(Request $request) { $response = Smeify::getDataPlansByNetworkId($networkId); // Then you can do whatever you want with the response either log it... } }
要验证交易或确认其状态(使用参考),请调用此包辅助方法,如下所示。
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index(Request $request) { $response = Smeify::veriyTransactionByReference($reference); // Then you can do whatever you want with the response either log it... } }
要验证批量交易或确认其状态(使用订单ID),请调用此包辅助方法,如下所示。
<?php namespace App\Http\Controllers; use AdewaleCharles\Smeify\Http\Smeify; use Illuminate\Http\Request; class TestController extends Controller { public function index(Request $request) { $response = Smeify::verifyTransactionByOrderId($orderId); // Then you can do whatever you want with the response either log it... } }