henryejemuta/laravel-megasubplug

一个laravel包,可无缝将MegaSup Plug API集成到您的laravel应用中。MegaSup Plug API允许您将MegaSup平台上的所有虚拟充值和账单支付服务集成到您的应用中(网站、桌面应用程序和移动应用程序)。您还可以通过集成此API并在尼日利亚转售MegaSubPlug服务来开始自己的VTU业务。

v1.0.0 2023-05-24 06:27 UTC

This package is not auto-updated.

Last update: 2024-10-02 14:10:58 UTC


README

Latest Version on Packagist Latest Stable Version Total Downloads License Quality Score

什么是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生成。