Skip to content

Send money (disburse) to Nagad accounts with php (and, laravel)

License

Notifications You must be signed in to change notification settings

ShafiqIslam/nagad-disbursement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

polygontech/nagad-disbursement

Send money (disburse) to Nagad accounts

polygontech/nagad-disbursement is mainly used in laravel projects at polygontech. But it can be worked with any php installation, which will exclude some of its functionalities.

Installation

The preferred method of installation is via Composer. Run the following command to install the package and add it as a requirement to your project's composer.json:

composer require polygontech/nagad-disbursement

then, publish the needed config:

php artisan vendor:publish --provider='Polygontech\NagadDisbursement\ServiceProvider'

# or,

php artisan vendor:publish # and select 'Polygontech\NagadDisbursement\ServiceProvider' when prompted

Usage

Currently, only batch disbursement is supported. For that, first create the DisbursementBatch, then call disburseNow method on NagadDisbursement facade.

use Polygontech\NagadDisbursement\DTO\Input\BatchItem;
use Polygontech\CommonHelpers\Mobile\BDMobile;
use Polygontech\CommonHelpers\Money\BDT;
use Polygontech\NagadDisbursement\DTO\Input\DisbursementBatch;
use Polygontech\NagadDisbursement\Facade\NagadDisbursement;
use Polygontech\NagadDisbursement\DTO\Output\BatchDisburseOutput;
use Carbon\Carbon;

$item1 = new BatchItem(
    account: new BDMobile("+8801687961590"),
    amount: new BDT(1300), // BDT should be created in poysa
    description: "Sample Test Loan",
    additional: [
        "referenceNo" => "10133",
        "someId" => "String",
    ],
);

$item2 = new BatchItem(
    account: new BDMobile("+8801672352566"),
    amount: new BDT(2055), // BDT should be created in poysa
    description: "Sample Test Loan",
    additional: [
        "referenceNo" => "1002",
        "someId" => "String1",
    ],
);

$batch = new DisbursementBatch(
    title: "Batch123456712",
    type: "G2C",
    scheduleTime: Carbon::now(),
    items: [$item1, $item2],
);

/** @var BatchDisburseOutput $output */
$output = NagadDisbursement::disburseNow($batch);

Contributing

Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.

Copyright and License

The polygontech/nagad-disbursement library is copyright © Shafiqul Islam, Polygon Technology and licensed for use under the MIT License (MIT). Please see LICENSE for more information.

About

Send money (disburse) to Nagad accounts with php (and, laravel)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages