Skip to content

Javaabu/bml-connect-laravel

Repository files navigation

BML Connect Laravel

Latest Version on Packagist Build Status Quality Score Total Downloads

Laravel wrapper for BML Connect PHP SDK.

Installation

You can install the package via composer:

composer require javaabu/bml-connect-laravel

Laravel 5.5 uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider/Facade.

After updating composer, add the ServiceProvider to the providers array in config/app.php

Javaabu\BmlConnect\Providers\BmlConnectServiceProvider::class;

Optionally you can use the Facade for shorter code. Add this to your facades:

'BMLConnect' => Javaabu\BmlConnect\Facades\BmlConnectFacade::class;

Setting up the BML Connect credentials

Add your BML Connect API Key and APP ID to your config/services.php. You can refer to how to generate the API Keys from the (Official BML Connect Documentation)[https://github.com/bankofmaldives/bml-connect#authentication].

// config/services.php
...
'bml_connect' => [
    'api_key' => env('BML_CONNECT_API_KEY'), // API Key 
    'app_id' => env('BML_CONNECT_APP_ID'), // App ID
    'mode' => env('BML_CONNECT_MODE', 'production'), // Can either be production or sandbox
    // 'client_options' => [], // any additional options you want to pass to the GuzzleHttp client                           
],
...

Usage

Using the App container:

$bml_connect = App::make('bml-connect');

$json = [
 "provider" => "alipay", // Payment method enabled for your merchant account such as bcmc, alipay, card
 "currency" => "MVR",
 "amount" => 1000, // 10.00 MVR
 "redirectUrl" => "https://foo.bar/order/123" // Optional redirect after payment completion
];

$transaction = $bml_connect->createTransaction($json);

Using the Facade

$json = [
 "provider" => "alipay", // Payment method enabled for your merchant account such as bcmc, alipay, card
 "currency" => "MVR",
 "amount" => 1000, // 10.00 MVR
 "redirectUrl" => "https://foo.bar/order/123" // Optional redirect after payment completion
];

$bml_connect = BMLConnect::createTransaction($json);

Available Methods

BMLConnect::createTransaction($json);
BMLConnect::listTransactions($params = []);
BMLConnect::getTransaction($id);
BMLConnect::cancelTransactionUrl($id);
BMLConnect::cancelTransaction($id);
BMLConnect::makeSignature($amount, $currency, $method = 'sha1');

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

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

Credits

License

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