henryejemuta/laravel-megasup

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

v1.0.0 2021-08-29 03:30 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:06 UTC


README

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

什么是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包模板 生成的。