sabuj073/laravel-nagad

Nagad payment gateway integration for Laravel (Bangladesh)

Maintainers

Package info

github.com/sabuj073/laravel-nagad

pkg:composer/sabuj073/laravel-nagad

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-03-10 05:02 UTC

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.