henryejemuta / laravel-megasubplug
一个laravel包,可无缝将MegaSup Plug API集成到您的laravel应用中。MegaSup Plug API允许您将MegaSup平台上的所有虚拟充值和账单支付服务集成到您的应用中(网站、桌面应用程序和移动应用程序)。您还可以通过集成此API并在尼日利亚转售MegaSubPlug服务来开始自己的VTU业务。
Requires
- php: ^8.0
- ext-json: *
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is not auto-updated.
Last update: 2024-10-02 14:10:58 UTC
README
什么是MegaSubPlug
MegaSubPlug API允许您将MegaSubPlug平台上的所有虚拟充值和账单支付服务集成到您的应用中(网站、桌面应用程序和移动应用程序)。您还可以通过集成此API并在尼日利亚转售MegaSubPlug服务来开始自己的VTU业务。
什么是Laravel MegaSubPlug
Laravel MegaSubPlug是一个laravel包,用于无缝将MegaSubPlug API集成到您的laravel应用中。
创建MegaSubPlug账户 注册。
查找MegaSubPlug API文档 API文档。更新的Mega-Sub API文档现在作为仓库的一部分,似乎在他们的仪表板上找到的链接已损坏。
安装
您可以通过composer安装此包
composer require henryejemuta/laravel-megasubplug
发布MegaSubPlug配置文件、迁移,并在.env文件中设置默认细节
php artisan megasubplug:init
使用
重要:在处理响应之前,请使用$response->successful()检查响应状态,并在请求失败时优雅地抛出和处理MegaSubPlugErrorException
在发起任何交易之前,请检查您的余额,以确认您有足够的MegaSubPlug余额来处理交易
Laravel MegaSubPlug包通过MegaSubPlug外观非常易于使用
use HenryEjemuta\LaravelMegaSubPlug\Facades\MegaSubPlug; use HenryEjemuta\LaravelMegaSubPlug\Classes\MegaSubPlugResponse; ... //To buy Airtime try{ $response = MegaSubPlugFacade::buyAirtime(NetworkEnum::getNetwork('mtn'), 100, '08134567890'); } catch (MegaSubPlugErrorException $exception) { Log::error($exception->getMessage() . "\n\r" . $exception->getCode()); } //A dump of the MegaSubPlugResponse on successful airtime purchase HenryEjemuta\LaravelMegaSubPlug\Classes\MegaSubPlugResponse {#1423 ▼ -message: "" -hasError: false -error: null -code: 200 -body: {#1539 ▼ +"id": 167630 +"airtime_type": "VTU" +"network": 1 +"paid_amount": "97.0" +"mobile_number": "08134567890" +"amount": "100" +"plan_amount": "₦100" +"plan_network": "MTN" +"balance_before": "2892.6" +"balance_after": "2795.6" +"Status": "successful" +"create_date": "2021-08-28T21:02:54.311846" +"Ported_number": true } } //To buy Data Bundle try{ $response = MegaSubPlugFacade::buyData(MegaSubPlugNetworkEnum::getNetwork("mtn"), 7, "08134567890"); } catch (MegaSubPlugErrorException $exception) { Log::error($exception->getMessage() . "\n\r" . $exception->getCode()); } //A dump of the MegaSubPlugResponse on successful data purchase HenryEjemuta\LaravelMegaSubPlug\Classes\MegaSubPlugResponse {#1423 ▼ -message: "" -hasError: false -error: null -code: 200 -body: {#1539 ▼ +"id": 108602 +"network": 1 +"balance_before": "2698.6" +"balance_after": "2459.6" +"mobile_number": "08134567890" +"plan": 7 +"Status": "successful" +"plan_network": "MTN" +"plan_name": "1.0GB" +"plan_amount": "₦239.0" +"create_date": "2021-08-28T21:27:41.169631" +"Ported_number": true } } ...
查看所有方法的概述,包括注释和预期参数
/** * Get Your MegaSub account details including available balance * @return MegaSubPlugResponse * @throws MegaSubPlugErrorException */ public function checkUserDetails(): MegaSubPlugResponse /** * @param NetworkEnum $mobileNetwork * @param int $amount * @param $phoneNumber * @param bool $portedNumber * @param string $airtimeType * @return MegaSubPlugResponse * @throws MegaSubPlugErrorException */ public function buyAirtime(NetworkEnum $mobileNetwork, int $amount, $phoneNumber, bool $portedNumber = true, string $airtimeType = "VTU"): MegaSubPlugResponse /** * MegaSubPlug API Transaction handler to access: * Transaction()->getAllDataTransaction(): MegaSubPlugResponse * Transaction()->queryDataTransaction(int $txnId): MegaSubPlugResponse * Transaction()->queryAirtimeTransaction(int $txnId): MegaSubPlugResponse * Transaction()->queryElectricityBillTransaction(int $txnId): MegaSubPlugResponse * Transaction()->queryCableTvTransaction(int $txnId): MegaSubPlugResponse * * @return Transaction */ public function Transaction(): Transaction /** * Cable TV Bill handler to access: * CableTv()->verifyIUC(CableTvEnum $cableTv, $smartCardNo): MegaSubPlugResponse * CableTv()->purchasePackage(CableTvEnum $cableTv, string $package, $smartCardNo): MegaSubPlugResponse * * @return CableTv */ public function CableTv(): CableTv /** * @param NetworkEnum $network * @param string $plan * @param string $phoneNumber * @param bool $portedNumber * @return MegaSubPlugResponse * @throws MegaSubPlugErrorException */ public function buyData(NetworkEnum $network, string $plan, string $phoneNumber, bool $portedNumber = true): MegaSubPlugResponse /** * Electricity Bills payment handler to access: * Electricity()->verifyMeterNumber(DiscoEnum $disco, $meterNumber, MeterTypeEnum $meterType): MegaSubPlugResponse * Electricity()->buyElectricity(DiscoEnum $disco, $meterNumber, $amount, MeterTypeEnum $meterType): MegaSubPlugResponse * * @return Electricity */ public function Electricity(): Electricity
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献以获取详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件henry.ejemuta@gmail.com而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。
Laravel Package Boilerplate
此包使用Laravel Package Boilerplate生成。