henryejemuta/laravel-husmodata

这是一个laravel包,用于无缝地将HusmoData API集成到您的laravel应用程序中。HusmoData API允许您将HusmoData平台上的所有虚拟充值和账单支付服务集成到您的应用程序中(网站、桌面应用程序和移动应用程序)。您还可以通过集成此API开始自己的VTU业务。

dev-master 2021-09-16 09:46 UTC

This package is auto-updated.

Last update: 2024-09-16 17:54:48 UTC


README

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

什么是HusmoData

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

什么是Laravel HusmoData

Laravel HusmoData是一个laravel包,用于在您的laravel应用程序中无缝集成HusmoData API。

创建HusmoData账户 注册

从您的HusmoData仪表板获取API令牌 获取我的API令牌

查看HusmoData API文档 API文档

安装

您可以通过composer安装此包

composer require henryejemuta/laravel-husmodata

发布HusmoData配置文件,迁移以及在.env文件中设置默认详情

php artisan husmodata:init

用法

重要:请在处理响应之前,使用 $response->successful() 检查响应状态,并在请求失败时优雅地抛出和处理HusmoDataErrorException

在进行任何交易之前,请检查您的余额,以确认您有足够的HusmoData余额来处理交易

通过HusmoData外观,Laravel HusmoData包非常易于使用

use HenryEjemuta\LaravelHusmoData\Facades\HusmoData;
use HenryEjemuta\LaravelHusmoData\Classes\HusmoDataResponse;

...

//To buy Airtime
try{
    $response = HusmoDataFacade::buyAirtime(NetworkEnum::getNetwork('mtn'), 100, '08134567890');
} catch (HusmoDataErrorException $exception) {
    Log::error($exception->getMessage() . "\n\r" . $exception->getCode());
}

//A dump of the HusmoDataResponse on successful airtime purchase
/*
HenryEjemuta\LaravelHusmoData\Classes\HusmoDataResponse {#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 = HusmoDataFacade::buyData(HusmoDataNetworkEnum::getNetwork("mtn"), 7, "08134567890");
} catch (HusmoDataErrorException $exception) {
    Log::error($exception->getMessage() . "\n\r" . $exception->getCode());
}

//A dump of the HusmoDataResponse on successful data purchase
/*
HenryEjemuta\LaravelHusmoData\Classes\HusmoDataResponse {#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 HusmoDataResponse
     * @throws HusmoDataErrorException
     */
    public function checkUserDetails(): HusmoDataResponse

    /**
     * @param NetworkEnum $mobileNetwork
     * @param int $amount
     * @param $phoneNumber
     * @param bool $portedNumber
     * @param string $airtimeType
     * @return HusmoDataResponse
     * @throws HusmoDataErrorException
     */
    public function buyAirtime(NetworkEnum $mobileNetwork, int $amount, $phoneNumber, bool $portedNumber = true, string $airtimeType = "VTU"): HusmoDataResponse

    /**
     * HusmoData API Transaction handler to access:
     * Transaction()->getAllDataTransaction(): HusmoDataResponse
     * Transaction()->queryDataTransaction(int $txnId): HusmoDataResponse
     * Transaction()->queryAirtimeTransaction(int $txnId): HusmoDataResponse
     * Transaction()->queryElectricityBillTransaction(int $txnId): HusmoDataResponse
     * Transaction()->queryCableTvTransaction(int $txnId): HusmoDataResponse
     *
     * @return Transaction
     */
    public function Transaction(): Transaction

    /**
     * Cable TV Bill handler to access:
     * CableTv()->verifyIUC(CableTvEnum $cableTv, $smartCardNo): HusmoDataResponse
     * CableTv()->purchasePackage(CableTvEnum $cableTv, string $package, $smartCardNo): HusmoDataResponse
     *
     * @return CableTv
     */
    public function CableTv(): CableTv


    /**
     * @param NetworkEnum $network
     * @param string $plan
     * @param string $phoneNumber
     * @param bool $portedNumber
     * @return HusmoDataResponse
     * @throws HusmoDataErrorException
     */
    public function buyData(NetworkEnum $network, string $plan, string $phoneNumber, bool $portedNumber = true): HusmoDataResponse


    /**
     * Electricity Bills payment handler to access:
     * Electricity()->verifyMeterNumber(DiscoEnum $disco, $meterNumber, MeterTypeEnum $meterType): HusmoDataResponse
     * Electricity()->buyElectricity(DiscoEnum $disco, $meterNumber, $amount, MeterTypeEnum $meterType): HusmoDataResponse
     *
     * @return Electricity
     */
    public function Electricity(): Electricity

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献以获取详细信息。

安全性

如果您发现任何安全问题,请通过henry.ejemuta@gmail.com发送电子邮件,而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。

Laravel包模板

此包是使用Laravel包模板生成的。