Looking to hire Laravel developers? Try LaraJobs

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

Comments
comments powered by Disqus

Laravel Nimbbl

License: MIT PHP Version Laravel

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
Email 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_payments table — master payment records
  • nimbbl_payment_logs table — 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.


Support