laravel-nimbbl maintained by pratiksahu
Description
Production-ready Laravel package for Nimbbl Payment Gateway (API v3) with database logging, webhooks, and Standard Checkout support.
Author
Last update
2026/06/24 14:58
(dev-main)
License
Downloads
0
Tags
payment - checkout - laravel - india - payment-gateway - payment-integration - upi - nimbbl - razorpay-alternative
Laravel Nimbbl
Production-ready Laravel package for integrating Nimbbl Payment Gateway (API v3) into any Laravel application.
Built on the official nimbbl/nimbbl-sdk with database audit logging, webhooks, and Standard Checkout support.
Author
| Name | Pratik Sahu |
| pratiksahu1535@gmail.com | |
| GitHub | @Pratiksahu2003 |
| Repository | github.com/Pratiksahu2003/nimbbl |
Features
- Auto-discovered Laravel service provider
- All Nimbbl API v3 operations (orders, payments, refunds, payment links)
- Cached merchant token (20-minute JWT lifecycle)
- Standard Checkout SDK credential helper
- Webhook + callback routes with signature verification
nimbbl_paymentstable — master payment recordsnimbbl_payment_logstable — separate user activity & audit trail- Sensitive data redaction in stored logs (tokens, OTP, card data)
Documentation
| Guide | Description |
|---|---|
| Implementation Guide | Complete step-by-step Laravel integration |
| Database & Logs | Schema, queries, and audit trail |
| Webhooks & Callbacks | Production webhook setup |
| Publishing | Packagist & GitHub release checklist |
Requirements
- PHP 8.1+
- Laravel 10, 11, or 12
- MySQL / PostgreSQL / SQLite
- Nimbbl credentials from Command Center
Installation
Via Composer (recommended)
composer require pratiksahu/laravel-nimbbl
Via GitHub (before Packagist)
Add to your Laravel app's composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/Pratiksahu2003/nimbbl"
}
]
}
composer require pratiksahu/laravel-nimbbl:dev-main
Setup
php artisan vendor:publish --tag=nimbbl-config
php artisan migrate
Environment
NIMBBL_ACCESS_KEY=your_access_key
NIMBBL_ACCESS_SECRET=your_access_secret
NIMBBL_BASE_URL=https://api.nimbbl.tech/api/
NIMBBL_API_VERSION=v3
NIMBBL_CURRENCY=INR
NIMBBL_DATABASE_LOGGING=true
NIMBBL_USER_MODEL=App\Models\User
Quick Example
use Nimbbl\Laravel\Facades\Nimbbl;
// Server: create order + save to database
$order = Nimbbl::createOrder(
payload: [
'invoice_id' => 'INV-'.time(),
'total_amount' => 1000,
'currency' => 'INR',
'user' => [
'email' => 'customer@example.com',
'first_name' => 'John',
'last_name' => 'Doe',
'mobile_number' => '9876543210',
'country_code' => '+91',
],
],
userId: auth()->id()
);
// Pass to frontend Standard Checkout SDK (token only — never merchant token)
return view('checkout', [
'checkout' => Nimbbl::checkoutCredentials($order),
]);
Full controller examples, Blade templates, webhook handlers, and production checklist → Implementation Guide
Integration Flow
┌─────────────┐ createOrder() ┌──────────────┐
│ Laravel App │ ──────────────────────►│ Nimbbl API │
│ (Server) │ ◄──────────────────────│ api.nimbbl │
└──────┬──────┘ order token └──────────────┘
│
│ checkoutCredentials()
▼
┌─────────────┐ Nimbbl SDK ┌──────────────┐
│ Browser │ ──────────────────────►│ Nimbbl │
│ (Client) │ ◄──────────────────────│ Checkout │
└─────────────┘ payment result └──────────────┘
│
│ webhook / callback
▼
┌─────────────┐
│ nimbbl_ │ payment record + activity logs
│ payments │
└─────────────┘
Reference: Nimbbl API Introduction
Security
| Token | Where to use | Never expose to |
|---|---|---|
| Merchant token | Server only (refunds, enquiry, create order) | Browser, mobile app |
| Order token | Client checkout SDK | — |
Always verify webhook/callback signatures. Confirm payment status with transactionEnquiry() before fulfilling orders.
License
MIT © Pratik Sahu. See LICENSE.