This package is eSewa SDK for LARAVEL Framework, making it easy for developers to integrate the eSewa payment service into Laravel Application Easily. Find more details on the [eSewa Documentation] website.
- Sign up for eSewa – Before you begin, you need to sign up and retrieve your credentials from [eSewa].
- Minimum requirements – To run the SDK, your system will need to meet the minimum requirements, including having PHP >= 7.4. We highly recommend having it compiled with the cURL extension and cURL compiled with a TLS backend ( e.g., NSS or OpenSSL).
Install the SDK – Using [Composer] is the recommended way to install the eSewa SDK for Laravel. The SDK is available
Laravel Compatible File
composer require zerkbro/esewa-laravel-sdk
Orginal File
composer require cixaware/esewa-php-sdk
php artisan vendor:publish --tag=esewa
inside the .env file use these below config values for quick setup.
ESEWA_API_URL=https://uat.esewa.com.np
ESEWA_DEBUG_MODE=true
ESEWA_MERCHANT_CODE=YOUR_MERCHANT_CODE
ESEWA_SUCCESS_URL=YOUR_SUCCESS_URL
ESEWA_FAILURE_URL=YOUR_FAILURE_URL
We track bugs and feature requests using GitHub issues and prioritize addressing them ASAP.
- For account and payment related concerns, please reach [eSewa] by calling or emailing them.
- If you believe you have found a bug, please open an issue on GitHub.
In this latest method we have made it more easier to implement in laravel projects.
// use the namespace
use Cixware\Esewa\Client;
// Initialize eSewa client
$esewa = new Client();
// Process payment
$esewa->process('P101W201', 100, 15, 80, 50);
When the user initiates the payment process, the package redirects the user to an eSewa site for payment processing. The eSewa system will redirect the user to your specified success URL if the payment is successful and to the failure URL if the payment fails.
$esewa->process('P101W201', 100, 15, 80, 50);
The method accepts five parameters.
process(string $pid, float $amt, float $txAmt = 0, float $psc = 0, float $pdc = 0)
pid
A unique ID of product or item or ticket etc.amt
Amount of product or item or ticket etctxAmt
Tax amount on product or item or ticket etc. Pass0
if Tax/VAT is not applicable.psc
The service charge (if applicable); default to0
.pdc
The delivery charge (if applicable); default to0
.
When using the eSewa payment gateway in production mode, an OTP (One-Time Password) code is sent to the customer's mobile number to verify the transaction. In development mode, the OTP code is a fixed six-digit number, 123456
, for testing purposes.
The verification process identifies potentially fraudulent transactions and checks them against data such as transaction amount and other parameters.
$status = $esewa->verify('R101', 'P101W201', 245);
if ($status) {
// Verification successful.
}
The method accepts three parameters.
verify(string $refId, string $oid, float $tAmt)
refId
A unique payment reference code generated by eSewa.oid
Product ID used on payment request.tAmt
Total payment amount (including Tax/VAT and other charges.)
Note: You can extract refId
from the success response url parameter.
We highly value and appreciate the contributions of the Open Source community. To ensure a smooth and efficient process, please stick to the following guidelines when submitting code:
- Ensure that your code adheres to [PSR] standards.
- All submitted code must pass relevant tests.
- Proper documentation and clean code practices are a must.
- Please make pull requests to the
main
branch.