Skip to content

seerbit/seerbit-laravel

Repository files navigation

SeerBit's API SDK for Laravel

SeerBit PHP SDK for easy integration with SeerBit's API.

Requirements

This package can be used with Laravel 5.8 or higher PHP 8.0 or higher

Installation

The preferred method is via composer. Follow the composer installation instructions if you do not already have composer installed.

Once composer is installed, execute the following command in your project root to install this library:

composer require seerbit/seerbit-laravel

The service provider will automatically register itself.

You can publish the config file with:

 php artisan vendor:publish --provider="SeerbitLaravel\SeerbitServiceProvider" --tag="config"

This is the contents of the config file that will be published to your app's directory path config/seerbit.php:

return [
    'environment' => env('SEERBIT_ENVIRONMENT', \Seerbit\Environment::LIVE),
    'public_key' => env('SEERBIT_PUBLIC_KEY'),
    'secret_key' => env('SEERBIT_SECRET_KEY'),
    'token' => env('SEERBIT_TOKEN'),
];

You can find both public and secret keys from your merchant dashboard.

The token can be generated following the guides here

Replace them by changes the key values in your .env file.

Open your .env file and add your public key, secret key and token:

SEERBIT_PUBLIC_KEY=xxxxxxxxxxxxx
SEERBIT_SECRET_KEY=xxxxxxxxxxxxx
SEERBIT_TOKEN=xxxxxxxxxxxxx

If you are using a cloud hosting service such as lambda, etc, you may need to add the above details to your environment variables section.

ENSURE YOU DO NOT PUBLISH YOUR ENV FILE TO YOUR GIT REPOSITORY

Usage

Standard checkout

namespace App\Http\Controllers;

use SeerbitLaravel\Facades\Seerbit;

class Standard
{
        public function Checkout(){
            try{
            $uuid = bin2hex(random_bytes(6));
            $transaction_ref = strtoupper(trim($uuid));
            
            $payload = [
                "amount" => "1000",
                "callbackUrl" => "http:yourwebsite.com",
                "country" => "NG",
                "currency" => "NGN",
                "email" => "[email protected]",
                "paymentReference" => $transaction_ref,
                "productDescription" => "product_description",
                "productId" => "64310880-2708933-427",
                "tokenize" => true //optional
            ];

            
            // Initialize the payment with the Facade
            // Or with Facade
            $trans = SeerBit::Standard()->Initialize($payload);

            // You can get your redirect link for customer payment from $tran
            $redirectLink = $trans['data']['payments']['redirectLink'];

            //  Redirect to this link in order to complete the transaction
            if (!empty($redirectLink)) {
                return redirect($redirectLink)->with("status", $trans['data']['message']);
            } else {
                //  Something went wrong while initiating the transaction
                return redirect()->back()->with('error', $trans['data']['message']);
            }
        
        }catch (\Exception $e){
        //    Handle exception handling
        }
}

Full documentation can be found here


Configure Logger

//Set Logger path in environment config file
SEERBIT_LOGGER_PATH = ""

API Documentation

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

We strongly encourage you to join us in contributing to this repository so everyone can benefit from:

  • New features and functionality
  • Resolved bug fixes and issues
  • Any general improvements

Security

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

Credits

License

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