laraman/beyonic

Laravel package for working with Beyonic Mobile Money APIs

v1.0.2 2020-01-31 10:59 UTC

This package is auto-updated.

Last update: 2024-10-29 05:41:10 UTC


README

Laraman Beyonic is a Laravel package for working with Beyonic Mobile Money APIs.

Requirements

  • Laravel v5.0+
  • Beyonic API Token

Note

  • For NOW this packages works with Collection Requests, Collections and Payments. More options are coming soon.

Installation

  • To get started, install the laraman/beyonic package.
composer require laraman/beyonic
  • For Laravel <=5.4, register the Facade in the app.php file inside config directory

  • To List of providers add:

Laraman\Beyonic\BeyonicServiceProvider::class,
  • To alias add:
'LaramanBeyonic' => Laraman\Beyonic\Facades\BeyonicFacade::class,
  • For Laravel >5.4, NO need to worry, the LaramanBeyonic facade will be automatically discovered and loaded for you.

Environment files

  • Add BEYONIC_API_KEY to your .env file and provide a valid Beyonic Token.
  • You can also publish the config file beyonic.php to your config directory and make necessary adjustments but this is optinal.
php artisan vendor:publish  --provider="Laraman\Beyonic\BeyonicServiceProvider"

How to use

  • Inside your controller, import LaramanBeyonic.
use LaramanBeyonic;
  • Then in your controller method, you can the make the various requests, follow the Beyonic API Documentation and format your request body accordingly.

  • You can then leverage on the LaramanBeyonic Methods to make your requests simpler.

Collection Requests.

  • To make collection request, you can use the following methods.

Collections.

  • To manage your collections, you can use the following methods.

Payments.

  • To send money to (Pay) mobile users, you can use the following methods.

Example.

  • To avoid unncessary errors, you may decide to wrap your request in a try and catch.
<?php

...

use LaramanBeyonic;

...

class PaymentController {
  
    public function createCollection(Request $request) {
        
        $requestData = [
            "phonenumber" => "+80000000001",
            "amount" => "100.2",
            "currency" => "BXC",
            "metadata" => ["my_id"=>"123ASDAsd123"],
            "send_instructions" => True,
            "subscription_settings" => [
                 "start_date"=>"24/05/2019 10:30:00",
                 "end_date"=>"24/06/2019 10:30:00",
                 "frequency"=>"weekly"
            ]
        ];
        
        try {
          $response = LaramanBeyonic::createCollection( $requestData );
          ...
        } catch (\Exception $ex) {
          $error = json_decode($ex->getMessage());
          ...
        }
    }
}

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT