Laravel Nagad payment BD
composer require code4mk/lara-nagad
php artisan vendor:publish --provider="Code4mk\Nagad\NagadServiceProvider" --tag=config
1.1 ) if you are using Laravel before version 5.4, manually register the service provider in your config/app.php file
Code4mk\Nagad\NagadServiceProvider::class
config/nagad.php
<?php
return [
'sandbox_mode' => env('NAGAD_MODE', 'sandbox'),
'merchant_id' => env('NAGAD_MERCHANT_ID','683002007104225'),
'merchant_number' => env('NAGAD_MERCHANT_NUMBER','01711428036'),
'callback_url' => env('NAGAD_CALLBACK_URL', 'http://127.0.0.1:8000/nagad/callback'),
'public_key' => env('NAGAD_PUBLIC_KEY',''),
'private_key' => env('NAGAD_PRIVATE_KEY','')
];
NAGAD_MERCHANT_ID=683002007104225
NAGAD_MERCHANT_NUMBER=01711428036
NAGAD_CALLBACK_URL=http://127.0.0.1:8000/nagad/callback
NAGAD_MODE=sandbox // sandbox or live
NAGAD_PUBLIC_KEY="" //sandbox <optional>
NAGAD_PRIVATE_KEY="" // sandbox <optional>
<?php
use NagadPayment;
$redirectUrl = NagadPayment::tnxID($id)
->amount($amount)
->getRedirectUrl();
return $redirectUrl;
<?php
use NagadPayment;
$verify = (object) NagadPayment::verify();
if($verify->status === 'Success'){
$order = json_decode($verify->additionalMerchantInfo);
$order_id = $order->tnx_id;
// your functional task with order_id
}
if ($verify->status === 'Aborted') {
dd($verify);
// redirect or other what you want
}
dd($verify);
~Sandbox
- Need a merchant account.
- Register a Nagad number and need sandbox balance (contact with nagad)
~ Live
- Need a merchant account (live server)
- Contact with Nagad and provide your live server ip address.
- provide support id ($sid) the nagad office
Sandbox works fine but when you deploy your project on server you can't get any response and don't work payment system
- Contact with nagad, provide your ip and support ID which you will get from temporary route
get-support-id
. Nagad will be white-listed your ip and approve your merchant. Now your nagad gateway work properly on server.
~ temporary route (copy and paste)
Route::get('get-support-id',function(){
$sid = NagadPayment::tnxID(1)
->amount(100)
->getSupportID();
return $sid;
})