All Projects → ovac → hubtel-payment

ovac / hubtel-payment

Licence: MIT license
🎉A comprehensive PHP Client Package for consuming the Hubtel Payment API

Programming Languages

PHP
23972 projects - #3 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to hubtel-payment

phpunit-injector
Injects services from a PSR-11 dependency injection container to PHPUnit test cases
Stars: ✭ 62 (+376.92%)
Mutual labels:  phpunit, tests
Unit Testing Tips
Unit testing tips by examples in PHP
Stars: ✭ 318 (+2346.15%)
Mutual labels:  phpunit, tests
idoc
📒📚Generate beautiful interactive documentation and Open-API 3.0 spec file from your existing Laravel app.
Stars: ✭ 95 (+630.77%)
Mutual labels:  ovac, ovac4u
Phpunit Easymock
Build PHPUnit mocks easily
Stars: ✭ 37 (+184.62%)
Mutual labels:  phpunit, tests
Nyancat Phpunit Resultprinter
Nyan Cat result printer for PHPUnit
Stars: ✭ 288 (+2115.38%)
Mutual labels:  phpunit, tests
Brainmonkey
Mocking utility for PHP functions and WordPress plugin API
Stars: ✭ 191 (+1369.23%)
Mutual labels:  phpunit, tests
phpunit-documentation-chinese
Simplified Chinese Documentation for PHPUnit
Stars: ✭ 35 (+169.23%)
Mutual labels:  phpunit
go-dump
Go-Dump is a Golang package which helps you to dump a struct.
Stars: ✭ 32 (+146.15%)
Mutual labels:  tests
BadMedicine
Library and CLI for randomly generating medical data like you might get out of an Electronic Health Records (EHR) system
Stars: ✭ 18 (+38.46%)
Mutual labels:  tests
wordpress-plugin
WordPress plugin starter template with all of the things.
Stars: ✭ 19 (+46.15%)
Mutual labels:  phpunit
react-typescript
React16 + HMR + typescript + webpack + tslint + tests
Stars: ✭ 21 (+61.54%)
Mutual labels:  tests
danger-swift-xcodesummary
A Danger-Swift plugin that adds build errors, warnings and unit tests results generated from xcodebuild to your Danger report
Stars: ✭ 72 (+453.85%)
Mutual labels:  tests
mocha-wrap
Fluent pluggable interface for easily wrapping `describe` and `it` blocks in Mocha tests.
Stars: ✭ 54 (+315.38%)
Mutual labels:  tests
coderbyte-challenges
ES 6/7 Javascript w/ Node - Coderbyte: tests-assert w/ working example
Stars: ✭ 1 (-92.31%)
Mutual labels:  tests
telenium
Automation for Kivy Application
Stars: ✭ 56 (+330.77%)
Mutual labels:  tests
covers-validator
Validates covers tags in PHPUnit tests
Stars: ✭ 21 (+61.54%)
Mutual labels:  phpunit
PHPUnit-Polyfills
Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests
Stars: ✭ 147 (+1030.77%)
Mutual labels:  phpunit
PixelTest
Fast, modern, simple iOS snapshot testing written purely in Swift.
Stars: ✭ 56 (+330.77%)
Mutual labels:  tests
About-tests-in-1C
Подборка материалов по тестированию в 1С:Предприятие 8
Stars: ✭ 27 (+107.69%)
Mutual labels:  tests
phpunit-util
Helper package to ease testing with PHPUnit.
Stars: ✭ 18 (+38.46%)
Mutual labels:  phpunit



OVAC Hubtel Payment

The best and most comphrensive PHP Client for consuming the Hubtel Payment API and for sending and receiving Mobile Money Payment from a php application with an elegant Write as it sounds syntax.

Build Status Coverage Status Latest Stable Version Total Downloads License Dependency Status

 Follow me anywhere @ovac4u                         | GitHub
 _________                          _________       | Twitter
|   ___   |.-----.--.--.---.-.----.|  |  |.--.--.   | Facboook
|  |  _   ||  _  |  |  |  _  |  __||__    |  |  |   | Instagram
|  |______||_____|\___/|___._|____|   |__||_____|   | Github + @ovac
|_________|                        www.ovac4u.com   | Facebook + @ovacposts

What is it?

OVAC/Hubtel-Payment is a comphrensive PHP client for consuming the Hubtel Mobile Money Payment server API. It's a full-on PHP toolbet sugar-coated by an elegant syntax directly inspired by the Laravel framework.

It features a good set of methods and tests for accessing the Hubtel Mobile Money Payment with a Write as it sounds syntax. Oh also it is growing all the time.

What's the cherry on top? It wraps nicely around native Guzzlehttp client and uses most of PHP best practices in relation to usability and security. What does this mean? This means that Pay::receiveMoney()->from(0553577261)->run(); actually places a dynamic call behind the scene in a very secure manner using the phone number as the Customer's idn as required by the Hubtel's Mobile Money Receive Money api and prompts the owner of the phone number as an agent.

Install OVAC\Hubtel-Payment

To install OVAC\HubtelPayment library, simply run

$ composer require ovac/hubtel-payment

OVAC\Hubtel-Payment Basic Usage

First Obtain a Hubtel Developer Account Number, ClientID and ClientSecret from https://unity.hubtel.com/account/api-accounts-add

The ReceiveMoney class may be used to send a prompt to the customer's phone to receive money like a mobile-money agent as follows:

<?php
require_once __DIR__ . '/vendor/autoload.php';

use OVAC\HubtelPayment\Config;
use OVAC\HubtelPayment\Api\Transaction\ReceiveMoney;

// First Create configuration with your Hubtel Developer Credentials
// The Account Number, ClientID and ClientSecret accordingly.
$config = new Config(Account_Nnumber, ClientId, ClientSecret);

$payment =  ReceiveMoney::from('0553577261')          //- The phone number to send the prompt to.
                ->amount(100.00)                    //- The exact amount value of the transaction
                ->description('Online Purchase')    //- Description of the transaction.
                ->customerName('Ariama Victor')     //- Name of the person making the payment.
                ->callback('http://ovac4u.com/pay') //- The URL to send callback after payment.	
                ->channel('mtn-gh')                 //- The mobile network Channel.
                ->injectConfig($config)             //- Inject the configuration
                ->run();                            //- Run the transaction after required data.

The SendMoney class may also be used to send money to any mobile money customer as follows:

<?php
require_once __DIR__ . '/vendor/autoload.php';

use OVAC\HubtelPayment\Config;
use OVAC\HubtelPayment\Api\Transaction\SendMoney;

// First Create configuration with your Hubtel Developer Credentials
// The Account Number, ClientID and ClientSecret accordingly.
$config = new Config(Account_Nnumber, ClientId, ClientSecret);

$payment = SendMoney::to('0553577261')                //- The phone number to send the prompt to.
                ->amount(100.00)                    //- The exact amount value of the transaction
                ->description('Online Purchase')    //- Description of the transaction.
                ->customerEmail('[email protected]') //- Name of the person making the payment.
                ->callback('http://ovac4u.com/pay') //- The URL to send callback after payment.	
                ->channel('mtn-gh')                 //- The mobile network Channel.
                ->injectConfig($config)             //- Inject the configuration
                ->run();                            //- Run the transaction after required data.

The Refund class may also refund money a customer paid in a previous transaction:

<?php
require_once __DIR__ . '/vendor/autoload.php';

use OVAC\HubtelPayment\Config;
use OVAC\HubtelPayment\Api\Transaction\Refund;

// First Create configuration with your Hubtel Developer Credentials
// The Account Number, ClientID and ClientSecret accordingly.
$config = new Config(Account_Nnumber, ClientId, ClientSecret);

$payment = Refund::transactionId(1234)              //- The ID of the transaction to refund.
                ->amount(100.00)                    //- The exact amount value of the transaction
                ->clientReference('#11212')         //- A refeerence on your end.
                ->description('Useless Purchase')   //- Description of the transaction.
                ->reason('No longer needs a pen')   //- Name of the person making the payment.
                ->full()                            //- Full or partial refund.
                ->injectConfig($config)             //- Inject the configuration
                ->run();                            //- Run the transaction after required data.

Documentation

You can find a detailed summary of all classes and methods on the official page. The changelog is available in the CHANGELOG file.

You can find a detailed summary of all classes and methods in the repo's wiki or the official page. The changelog is available in the CHANGELOG file.

Tests

if you have phpunit installed globally

$ vendor/bin/phpunit

or use the composer script

$ composer phpunit

Code analysis tools

lint/checkstyle with phpcs:

$ composer phpcs

mess detector with phpmd:

$ composer phpmd

copy & paste detector with phpcpd:

$ composer phpcpd

phpunit, lint, mess detector in one command:

$ composer test

CI

A simple ci bash script exists under bin folder

$ bin/ci.sh

Contributing

Thank you for considering contributing to Laravel Hackathon Starter. The contribution guide can be found in the Contribution File

Security

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

Credits

Licence

Reference

How can I thank you?

Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!

Don't forget to follow me on instagram and twitter

Thanks! Ariama Victor (ovac4u).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].