PHP Classes


Recommend this page to a friend!
  Classes of Zacchaeus Bolaji   PHP Eyowo Payment API   Download  
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Eyowo Payment API
Process payments using the Eyowo API
Author: By
Last change:
Date: 4 years ago
Size: 4,118 bytes


Class file image Download


CircleCI Latest Stable Version Total Downloads License StyleCI Build Status Scrutinizer Code Quality

A PHP API wrapper for Eyowo.


  • Curl 7.34.0 or more recent (Unless using Guzzle)
  • PHP 5.4.0 or more recent
  • OpenSSL v1.0.1 or more recent


Via Composer

    $ composer require djunehor/eyowo-php


1. Get your API KEYS

2. configure package (optional)

  • Add `EYOWO_APP_KEY` and `EYOWO_APP_SECRET` to your `.env` and set the values

3. Initialise API

use Djunehor\Eyowo\Api;

$production is an optional boolean parameter to specify if to use production URL or sandbox.
// Default is false
$eyowo = new Api($appKey, $production); //if appKey is not passed, package uses value in .env

NOTE: The sandbox URL was not responding as at last test. So, you might just set $production as true

Validate a user

// phone should be in the format 2348020000000

Authenticate user

// sends SMS to user phone

// $code is the 6-digit number send to user phone
$eyowo->generateToken($phone, $code);
'success' => true,
'data' => [
'accessToken' => kjaskajs7a8s6as7a7s68a,
'refreshToken' => askhas7a7s6a7yajgsa67u

$walletToken = $eyowo->getAccessToken();
$refreshToken = $eyowo->getRefreshToken();

Refresh Token


Get banks

$output = $eyowo->banks();
'success' => true,
'data' => [
    'banks' => [
                        "bankCode" => "090270",
                        "bankName" => "AB MICROFINANCE BANK"

$banks = $eyowo->getBanks();

                        "bankCode" => "090270",
                        "bankName" => "AB MICROFINANCE BANK"

Transfer to phone

//amount should be in kobo
$eyowo->transferToPhone($walletToken, $amount, $phone);

Transfer to bank

//amount should be in kobo
$eyowo->transferToPhone($walletToken, $amount, $accountName, $accountNumber, $bankCode);

Wallet Balance

$eyowo->balance($walletToken); returns raw API response
$balance = $eyowo->getBalance(); // returns int|float


// provider has to be one of ['mtn', 'glo', 'etisalat', 'airtel'];
$eyowo->vtu($walletToken, $amount, $phone, $provider);

Change log

Please see CHANGELOG for more information what has changed recently.


  • Clone this repo
  • Run `composer install`
  • Run `cp .env.sample .env`
  • Set your API keys in `.env`
  • Run `composer test`


Please see CONTRIBUTING and CONDUCT for details. Check our todo list for features already intended.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.