Handling payment gateways can be challenging — from generating checksums to managing callbacks securely. That’s why I built Laravel Eazypay Integration — a simple yet powerful Laravel package for integrating ICICI Bank’s Eazypay Payment Gateway into your PHP or Laravel applications.
This package makes it effortless to handle:
- 🔑 Checksum generation & validation
- 💳 Secure transaction submission
- 📩 Callback & response handling
It’s designed for Laravel 10/11 and supports PHP 8+, ensuring smooth integration and up-to-date compatibility.
💡 What is Eazypay?
Eazypay is a secure and versatile payment service offered by ICICI Bank in India.
It allows institutions and businesses to collect money through multiple payment modes like NetBanking, Cards, UPI, NEFT/RTGS, Cash, and Cheque — all through a unified interface.
With Laravel Eazypay, you can integrate this payment gateway directly into your Laravel project with minimal setup and maximum security.
⚙️ Installation
You can install the package using Composer:
composer require sachin-sanchania/laravel-eazypay
⚡ Configuration
The configuration is designed to be flexible and developer-friendly.
Global configuration can be found in:
config/eazypay.php
  
  
  Step 1: Update your .env file
Make sure you add the following credentials provided by ICICI Bank:
EAZYPAY_MERCHANT_ID=your_merchant_id
EAZYPAY_ENCRYPTION_KEY=your_encryption_key
EAZYPAY_RETURN_URL=your_return_url
EAZYPAY_SUB_MERCHANT_ID=xxxxxx
EAZYPAY_PAYMODE=9
EAZYPAY_DEFAULT_BASE_URL=https://eazypay.icicibank.com/EazyPG
💡 Tip: For UAT testing, use
https://eazypayuat.icicibank.com/EazyPG
as the base URL.
Step 2: Clear your application cache
php artisan optimize:clear
Step 3: Publish the configuration file
php artisan vendor:publish --provider="SachinSanchania\Eazypay\EazypayServiceProvider"
That’s it! Your Laravel app is now ready to communicate with ICICI’s Eazypay gateway.
🧩 Usage
Once installed and configured, you can easily initiate a payment request and handle the response.
Step 1: Initiate a Payment
Import the package into your controller and call the payment method:
use SachinSanchania\Eazypay\Eazypay;
class PaymentController extends Controller
{ 
    public function payment()
    {
        $amount        = 1000;
        $referenceNo   = 1; // Order ID or unique transaction reference
        $optionalField = '10|10|10|10'; // Optional fields as per ICICI docs
        $eazypay    = new Eazypay();
        $paymentUrl = $eazypay->getPaymentUrl($amount, $referenceNo, $optionalField);
        return redirect()->to($paymentUrl); // Redirect to ICICI Eazypay gateway
    }
}
This generates a secure checksum, prepares the transaction data, and redirects the customer to the payment page.
Step 2: Handle the Payment Response
After the payment process, ICICI Eazypay will redirect the customer to your Return URL with the transaction response.
Here’s how you can capture and handle it:
public function paymentResponse(Request $request)
{
    $response = $request->all();
    // Validate and process payment response
    if (isset($response['status']) && $response['status'] == 'success') {
        // Payment successful
        // Update order or transaction status here
    } else {
        // Payment failed or pending
        // Handle accordingly
    }
    return view('payment.status', compact('response'));
}
🧾 Example Flow
- Customer initiates payment on your site.
- Your application sends the payment request to Eazypay via this package.
- The user completes payment on ICICI’s portal.
- ICICI redirects back to your configured Return URL with transaction details.
- You verify the checksum and update your database accordingly.
🛠 Supported Payment Modes
| Mode | Code | 
|---|---|
| Cash | 0 | 
| Cheque | 1 | 
| NEFT/RTGS | 2 | 
| Net Banking | 3 | 
| Debit Card | 4 | 
| Credit Card | 5 | 
| UPI | 6 | 
| All | 9 (default) | 
🔒 Security
All sensitive data is encrypted using ICICI’s AES encryption.
The library automatically handles checksum generation and validation for each transaction, ensuring end-to-end integrity and security.
📦 Repository
View full documentation and source code here:
👉 https://github.com/sachin-sanchania/laravel-eazypay
❤️ Contributing
Contributions are always welcome!
If you’d like to improve functionality, fix a bug, or add features — open a PR or start a discussion on GitHub.
🧾 License
Licensed under the MIT License — free to use and modify for both personal and commercial projects.
Thanks for your support! ❤️
If this package helps you simplify Eazypay integration, don’t forget to ⭐ star the repository on GitHub and share it with the Laravel community.
Author: Sachin Sanchania
Follow me on Dev.to OR sachinsanchania.com for more Laravel and PHP open-source updates.
 

 
    
Top comments (0)