giftbalogun/kudaapitoken

KudaApiToken is a library to allow communication with Kuda Bank API to setup your own fintech apps

1.1.3 2024-12-27 11:45 UTC

This package is auto-updated.

Last update: 2024-12-27 11:45:43 UTC


README

Github top language Star GitHub issues License

Laravel integration with KudaOpenApi for seemless Banking via Kuda Bank Open Api

Table of Contents

  1. Getting Started
  2. Installation
  3. Usage
  4. Documentation
  5. Testing and Debugging
  6. License
  7. Social Presence

🎯 Getting Started

Enable your product for local transactions with the KUDA Open API platform! With the KUDA Open APIs, you can embed services on your platform and connect your customers to a wide range of banking services.

Note: Ensure you have a KUDA Business account linked to your profile for live access.

Steps:

  1. Sign up for a KUDA Business account.
  2. Generate an API token from your developer dashboard.
  3. Proceed with the installation and configuration below.

🎯 Installation

PHP 7.2+ and Composer are required.

To get the latest version of KudaApiToken, simply require it

composer require giftbalogun/kudapaitoken

Or add the following line to the require block of your composer.json file.

"giftbalogun/kudapaitoken": "1.0.*"

and add This

"repositories": [
    {
        "type": "git",
        "url": "https://github.com/giftbalogun/kudaApiToken"
    }
],

You'll then need to run composer install or composer update --prefer-dist to download it and have the autoloader updated.

Open your .env file and add your public key, secret key, merchant email and payment url like so:

KUDA_API_TOKEN=XXXXXXXXXXXXXXXXXXXX
KUDA_API_URL=XXXXXXXXXXXXXXXXXXXXXX
KUDA_USER_EMAIL=YOUR_EMAIL
ENVIRONMENT_ENV=LIVE_OR_TEST

⭐ Documentation

Documentation http://kudaapitoken.readthedocs.io (COMING SOON)

Article Medium to Read https://medium.com/@giftbalogun/laravel-integration-with-kudaopenapi-663825ecd247

✨ Usage

Availbale coomand to be use are in COMMAND file with easy to understand related to ServiceTypes.

Send request with this command.

//simple
$data = [
    'email' => $request->email,
    'phoneNumber' => $request->phone,
    'lastName' => $request->l_name,
    'firstName' => $request->f_name,
    'businessName' => $request->business_name,
    'trackingReference' => $customer_code,
]; # $data is the format for making request to the api 

$ref = rand(); #used to generate randon unique number for the request

//For Pay with Transfer
$data = [
    "Amount"=>5000000,
    "IsFlexiblePayment"=>true, //true or false
    "RemittingAccounts"=>[
    {
        "SplitPercentage"=>50,
        "AccountName"=>"foods",
        "AccountNumber"=>"3020806687"
    },
    {
        "SplitPercentage"=>50,
        "AccountName"=>"foods",
        "AccountNumber"=>"3020808612"
    }
    ]
];

Styles of Calling the Controller

use Giftbalogun\Kudaapitoken\Controllers\KudaBankController;

$this->kudabankservice->create_virtual_account($data, $ref);

OR

use Giftbalogun\Kudaapitoken\Kuda;

$this->kuda->initController('default')->create_virtual_account($data, $ref);
## Controllers include 'Bill', 'Card', 'GiftCard', 'KudaBank' | Default is same as KudaBank

Create New Customer Accunt

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Giftbalogun\Kudaapitoken\Controllers\KudaBankController;
use Giftbalogun\Kudaapitoken\Kuda;

class CustomController extends Controller
{
    private $kuda;
    private $kudabankservice;

    public function __construct()
    {
        $this->kudabankservice = new KudaBankController();
        ## Or call from Kuda service
        $this->kuda = new Kuda;
    }

    public function createcustomeraccount()
    {
        $customer_code = '000' . random_int(100000, 999999) . '0000';

        $data = [
            'email' => $request->email,
            'phoneNumber' => $request->phone,
            'lastName' => $request->l_name,
            'firstName' => $request->f_name,
            'businessName' => $request->business_name,
            'trackingReference' => $customer_code,
        ];
        $ref = rand();

        $newcustomeraccount = $this->kudabankservice->create_virtual_account($data, $ref);

        ## Or you can load from the Kuda Service
        
        $newcustomeraccount = $this->kuda->initController('default')->create_virtual_account($data, $ref);
        ## Controllers include 'Bill', 'Card', 'GiftCard', 'KudaBank' | Default is same as KudaBank

        $getvaccount = json_decode($newcustomeraccount['data']);

        return $getvaccount;
    }
}

Get Admin Balance

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Giftbalogun\Kudaapitoken\Kuda;

class CustomController extends Controller
{
    private $kuda;
    private $kudabankservice;

    public function __construct()
    {
        ##Kuda service
        $this->kuda = new Kuda;
    }

    public function getadminbalance()
    {
        $data = [];

        $ref = rand();

        ##load from the Kuda Service
        $balance = $this->kuda->initController('KudaBank')->getadminbalance($data, $ref);
        ## Controllers include 'Bill', 'Card', 'GiftCard', 'KudaBank' | Default is same as KudaBank

        $getadminbalance = json_decode($balance['data']);

        return $getadminbalance;
    }
}

📝 License

This project is under license from MIT. For more details, see the LICENSE file.

Social Presense

Follow me on social media Medium! Twitter! Instagram! LinkedIn! Porfolio!

Made with ❤️ by Gift Balogun

 

Back to top