Download the PHP package satnam-singh/sbi-epay without Composer
On this page you can find all versions of the php package satnam-singh/sbi-epay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download satnam-singh/sbi-epay
More information about satnam-singh/sbi-epay
Files in satnam-singh/sbi-epay
Package sbi-epay
Short Description Seamless and secure SBI ePay payment gateway integration for Laravel applications.
License MIT
Homepage https://github.com/satnamgills/sbi-epay-laravel
Informations about the package sbi-epay
SBI ePay for Laravel
A modern, fluent, and strongly-typed SBI ePay (State Bank of India Payment Gateway) integration package for Laravel applications.
[!NOTE] Disclaimer: This is an independent, community-developed package and is not an official package from State Bank of India (SBI) or SBI ePay. It is neither endorsed by, affiliated with, nor maintained by State Bank of India.
Highlights
- โก Fluent Payment Initiation: One-liner payment generation with auto-submitting redirect form or headless API responses for SPAs.
- ๐ AES-128-CBC Encryption: Compliant with official SBI ePay specifications using PHP's native OpenSSL.
- ๐ก๏ธ Double Verification Support: Built-in server-to-server query verification to prevent client tampering and guarantee authentic bank status.
- ๐ข Multi-Merchant / Multi-Tenant Support: Seamlessly switch merchant credentials dynamically using
SbiEpay::merchant($id, $key). - ๐ Environment Switching: Out-of-the-box configuration for
test(UAT) andlive(Production) gateways. - ๐งช Production-Grade Quality: Strict types declared, PHPStan Level 7 compliant, 100% type coverage, and tested with Pest.
Requirements
- PHP:
^8.3or^8.4 - Laravel:
^11.0or^12.0 - PHP OpenSSL Extension enabled
Installation
Install the package into your Laravel application via Composer:
Publish Configuration
Publish the sbi-epay.php configuration file:
Configuration
Add your SBI ePay merchant credentials to your .env file:
Important: Exclude Callback Route from CSRF Verification
SBI ePay returns customers back to your application by issuing a cross-site HTTP POST request containing encrypted payload data (encData). In Laravel 11 and 12, make sure to exclude your payment callback route from CSRF verification:
In bootstrap/app.php:
Quick Usage
1. Initiating a Payment
In your controller, use the SbiEpay facade to create a payment request:
For Headless / Inertia / Vue / React SPAs: Instead of
$initiation->redirect(), retrieve the raw form parameters and submit them from your frontend:
2. Handling the Payment Callback
When the transaction finishes, SBI ePay posts the encrypted status payload to your successUrl or failUrl. Decrypt and parse it with SbiEpay::handleCallback():
Available Methods on PaymentResponse:
3. Server-to-Server Double Verification
To eliminate any chance of client-side callback tampering, query SBI's Double Verification API directly from your server:
4. Dynamic Multi-Merchant Support
If your application processes payments for multiple branches, municipalities, or tenants with different merchant accounts:
5. Direct Encryption & Decryption Helpers
You can also use the encryption engine standalone:
Testing
Run the package test suite:
Individual checks:
Changelog
Please see CHANGELOG.md for details on recent changes.
Contributing
Please see CODE_OF_CONDUCT.md for details.
Security
Please review our security policy on how to report security vulnerabilities.
Credits
- Satnam Singh (@satnamgills)
- All Contributors
Disclaimer
This package is an independent, custom-built open-source integration developed to assist Laravel developers integrating with the SBI ePay payment gateway. This project is not an official product of, nor is it endorsed, certified, or maintained by State Bank of India (SBI) or SBI ePay. All trademarks, service marks, and company names are the property of their respective owners.
License
The MIT License (MIT). Please see License File for more information.
All versions of sbi-epay with dependencies
illuminate/http Version ^11.0||^12.0||^13.0
illuminate/support Version ^11.0||^12.0||^13.0