sabuj073 / laravel-nagad
Nagad payment gateway integration for Laravel (Bangladesh)
dev-main
2026-03-10 05:02 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
This package is auto-updated.
Last update: 2026-03-10 05:08:49 UTC
README
Nagad payment gateway integration for Laravel (Bangladesh).
Installation
composer require sabuj073/laravel-nagad
php artisan vendor:publish --tag=nagad-config
Configuration
In .env:
NAGAD_SANDBOX=true
NAGAD_MERCHANT_ID=your_merchant_id
NAGAD_MERCHANT_NUMBER=your_merchant_number
NAGAD_PUBLIC_KEY=your_public_key
NAGAD_PRIVATE_KEY=your_private_key
NAGAD_CALLBACK_URL=https://yoursite.com/nagad/callback
NAGAD_SUCCESS_URL=https://yoursite.com/nagad/success
NAGAD_FAIL_URL=https://yoursite.com/nagad/fail
Usage
Create payment and redirect:
use Sabuj073\Nagad\NagadGateway; $nagad = app(NagadGateway::class); $result = $nagad->createPayment('500', 'INV-001'); return redirect($nagad->getRedirectUrl($result));
Routes:
Route::get('/nagad/callback', \Sabuj073\Nagad\Http\Controllers\NagadCallbackController::class)->name('nagad.callback'); Route::get('/nagad/success', fn () => view('nagad.success'))->name('nagad.success'); Route::get('/nagad/fail', fn () => view('nagad.fail'))->name('nagad.fail');
Verify / Refund:
$nagad->verifyPayment($paymentRefId); $nagad->refund($paymentRefId, '100', 'Customer request');
Note: Nagad API endpoints and payload may vary. Adjust NagadGateway and config per Nagad Developer docs when going live.