henryejemuta / laravel-megasup
一个laravel包,可以将MegaSup API无缝集成到您的laravel应用程序中。MegaSup API是一个HTTPS GET API,允许您将我们平台上的所有虚拟充值和账单支付服务集成到您的应用程序(网站、桌面应用和移动应用)中。您还可以通过集成我们的VTU API并转售我们的服务在尼日利亚开展自己的VTU业务。
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-29 06:03:06 UTC
README
什么是MegaSup
MegaSup API是一个HTTPS GET API,允许您将我们平台上的所有MegaSup虚拟充值和账单支付服务集成到您的应用程序(网站、桌面应用和移动应用)中。您还可以通过集成我们的VTU API并在尼日利亚转售我们的服务来开展自己的VTU业务。
什么是Laravel MegaSup
Laravel MegaSup是一个laravel包,用于将MegaSup API无缝集成到您的laravel应用程序中。
创建MegaSup账户 注册。
查看MegaSup API文档 API文档。
安装
您可以通过composer安装此包
composer require henryejemuta/laravel-megasup
发布MegaSup配置文件,迁移以及设置.env文件中的默认详细信息
php artisan megasup:init
使用方法
重要:在处理响应之前,请使用 $response->successful() 检查响应状态,并在请求失败时优雅地抛出和处理MegaSupErrorException
在发起任何交易之前,请检查您的余额,以确认您有足够的MegaSup余额来处理该交易
Laravel MegaSup包通过MegaSup外观非常容易使用
use HenryEjemuta\LaravelMegaSup\Facades\MegaSup; use HenryEjemuta\LaravelMegaSup\Classes\MegaSupResponse; ... //To buy Airtime try{ $response = MegaSupFacade::buyAirtime(NetworkEnum::getNetwork('mtn'), 100, '08134567890'); } catch (MegaSupErrorException $exception) { Log::error($exception->getMessage() . "\n\r" . $exception->getCode()); } //A dump of the MegaSupResponse on successful airtime purchase HenryEjemuta\LaravelMegaSup\Classes\MegaSupResponse {#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 = MegaSupFacade::buyData(MegaSupNetworkEnum::getNetwork("mtn"), 7, "08134567890"); } catch (MegaSupErrorException $exception) { Log::error($exception->getMessage() . "\n\r" . $exception->getCode()); } //A dump of the MegaSupResponse on successful data purchase HenryEjemuta\LaravelMegaSup\Classes\MegaSupResponse {#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 MegaSupResponse
* @throws MegaSupErrorException
*/
public function checkUserDetails(): MegaSupResponse
/**
* @param NetworkEnum $mobileNetwork
* @param int $amount
* @param $phoneNumber
* @param bool $portedNumber
* @param string $airtimeType
* @return MegaSupResponse
* @throws MegaSupErrorException
*/
public function buyAirtime(NetworkEnum $mobileNetwork, int $amount, $phoneNumber, bool $portedNumber = true, string $airtimeType = "VTU"): MegaSupResponse
/**
* MegaSup API Transaction handler to access:
* Transaction()->getAllDataTransaction(): MegaSupResponse
* Transaction()->queryDataTransaction(int $txnId): MegaSupResponse
* Transaction()->queryAirtimeTransaction(int $txnId): MegaSupResponse
* Transaction()->queryElectricityBillTransaction(int $txnId): MegaSupResponse
* Transaction()->queryCableTvTransaction(int $txnId): MegaSupResponse
*
* @return Transaction
*/
public function Transaction(): Transaction
/**
* Cable TV Bill handler to access:
* CableTv()->verifyIUC(CableTvEnum $cableTv, $smartCardNo): MegaSupResponse
* CableTv()->purchasePackage(CableTvEnum $cableTv, string $package, $smartCardNo): MegaSupResponse
*
* @return CableTv
*/
public function CableTv(): CableTv
/**
* @param NetworkEnum $network
* @param string $plan
* @param string $phoneNumber
* @param bool $portedNumber
* @return MegaSupResponse
* @throws MegaSupErrorException
*/
public function buyData(NetworkEnum $network, string $plan, string $phoneNumber, bool $portedNumber = true): MegaSupResponse
/**
* Electricity Bills payment handler to access:
* Electricity()->verifyMeterNumber(DiscoEnum $disco, $meterNumber, MeterTypeEnum $meterType): MegaSupResponse
* Electricity()->buyElectricity(DiscoEnum $disco, $meterNumber, $amount, MeterTypeEnum $meterType): MegaSupResponse
*
* @return Electricity
*/
public function Electricity(): Electricity
测试
composer test
变更日志
请参阅 变更日志 获取更多信息。
贡献
请参阅 贡献 获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 henry.ejemuta@gmail.com 联系,而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅 许可文件 获取更多信息。
Laravel包模板
此包是使用 Laravel包模板 生成的。