Skip to content

zerkbro/forked-package-ofesewa-laravel-sdk

 
 

Repository files navigation

eSewa SDK for LARAVEL

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.

Getting Started

  1. Sign up for eSewa – Before you begin, you need to sign up and retrieve your credentials from [eSewa].
  2. 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).

Installation

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

Publishing The Configurations

php artisan vendor:publish --tag=esewa

.env Settings

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

Getting Help

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.

Quick Examples

Easily Create an eSewa client [ Latest method ]

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);

Make Payment

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)
  1. pid A unique ID of product or item or ticket etc.
  2. amt Amount of product or item or ticket etc
  3. txAmt Tax amount on product or item or ticket etc. Pass 0 if Tax/VAT is not applicable.
  4. psc The service charge (if applicable); default to 0.
  5. pdc The delivery charge (if applicable); default to 0.

OTP for Payment

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.

Verify Payment

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)
  1. refId A unique payment reference code generated by eSewa.
  2. oid Product ID used on payment request.
  3. tAmt Total payment amount (including Tax/VAT and other charges.)

Note: You can extract refId from the success response url parameter.

Contribution

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.

About

Effortless and Secure eSewa Payment Gateway Integration in PHP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%