fannypack/beyonic

laravel beyonic mobile money payment implementation
66
Install
composer require fannypack/beyonic
Latest Version:2.1
Last Updated:Sep 5, 2019
Links: GitHub  ·  Packagist
Maintainer: mpaannddreew

About this library

This is a simple/basic implementation of beyonic payments in laravel 5

Actions supported

Note: You must have a valid Beyonic account to use this library

  • RECEIVING MONEY [Collection request]
  • SENDING MONEY [Payments]

For more information visit Beyonic

Installation

composer require fannypack/beyonic

For Laravel <= 5.4 Register service provider

FannyPack\Beyonic\BeyonicServiceProvider::class,

For Laravel <= 5.4 Register Facade

'Beyonic' => FannyPack\Beyonic\Beyonic::class,

For Laravel > 5.4 Service provider and Facade are discovered automatically

After the service provider is registered run this command

php artisan vendor:publish

This command will create a copy of the library's config file and migrations into your code base

beyonic.php

Run migrations to create beyonic_payments table to store your payment instances

php artisan migrate

Environment setup

The library loads configurations from the .env file in your application's root folder. These are the contents of beyonic.php

return [
    'apiKey' => env('BEYONIC_API_KEY', ''),
    'currency' => env('CURRENCY', 'UGX'),
    'callback_url' => env('CALLBACK_URL', ''),
    'account_id' => env('ACCOUNT_ID', ''),
];

Usage in context of your beyonic account

Using it with your models, add trait FannyPack\Beyonic\Billable to your models and make sure your model has a phone_number field

namespace App;

use FannyPack\Beyonic\Billable;
use Illuminate\Database\Eloquent\Model;

class Account extends Model
{
    use Billable;
}

Requesting payment from a billable instance, this method takes an optional phone number in case you want to provide a different number to withdraw the funds from and the method returns a FannyPack\Beyonic\Payment::class instance

$account = Account::find(1);
$payment = Beyonic::deposit($account, $amount, $reason, $optional_phone_number);
// or
$payment = $account->deposit($amount, $reason, $optional_phone_number);

Information about a Collection request

$payment = $account->payments[0]
$response = Beyonic::info($payment);
// or
$response = $payment->info();

Sending payment to th phone number associated with the billable instance, this method takes an optional phone number in case you want to provide a different number to deposit the funds to and the method returns a FannyPack\Beyonic\Payment::class instance

$payment = Beyonic::withdraw($account, $amount, $reason, $optional_phone_number);
// or
$payment = $account->withdraw($amount, $reason, $optional_phone_number);

For information about the response body visit Beyonic

Bugs

For any bugs found, please email me at andrewmvp007@gmail.com or register an issue at issues

Related Packages

fannypack/jpesa

laravel jpesa mobile money payment implementation

25 0
adelowo/laravel-gbowo

Laravel bridge for the Gbowo payment library

26 1
ipunkt/composer-about

Parses composer.lock and returns informations about the used packages

10,218 3
jasonlam604/stringizer

Stringizer is a PHP string manipulation library with support for method chaining...

110,403 35