sujanshresthanet/esewa-php-sdk

eSewa payment gateway integration in PHP.

1.0.10 2020-08-28 04:57 UTC

This package is auto-updated.

Last update: 2024-10-30 01:43:02 UTC


README

The eSewa SDK for PHP makes it easy for developers to access eSewa payment service in their PHP code. You can find more details in eSewa Documentation site.

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.2. We highly recommend having it compiled with the cURL extension and cURL compiled with a TLS backend (e.g., NSS or OpenSSL). We do not support outdated PHP versions.

Installation

Install the SDK – Using Composer is the recommended way to install the eSewa SDK for PHP. The SDK is available via Packagist under the sujanshresthanet/esewa-php-sdk package.

composer sujanshresthanet/esewa-php-sdk

Getting Help

We use the GitHub issues for tracking bugs and feature requests and address them as quickly as possible.

  • Call or Email eSewa for account and payment related queries.

Quick Examples

Create a eSewa client

// require the composer autoloader.
require 'vendor/autoload.php';

use Cixware\Esewa\Client;

// init client for development
$esewa = new Client([
    'success_url' => 'https://example.com/success.php', // callback url for success
    'failure_url' => 'https://example.com/failed.php', // callback url for failure
]);

// init client for production
$esewa = new Client([
    'is_production' => true,
    'merchant_code' => 'b4e...e8c753...2c6e8b', // retrieve from eSewa
    'success_url' => 'https://example.com/success.php', // callback url for success
    'failure_url' => 'https://example.com/failed.php', // callback url for failure
]);

Make Payment

This will redirect the user to eSewa dashboard for payment processing. Once the payment is successful, it will redirect to your success URL. If the payment fails, it will redirect to your failure URL.

$esewa->process('P101W201', 100, 15, 80, 50);

The method accepts 5 parameters.

  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.

The tAmt total amount is auto calculated based on the parameters.

Verify Payment

Transaction verification process provide you filter that identify potentially fraudulent transactions and screen against data such as the value of transaction amount etc.

$status = $esewa->verify('R101', 'P101W201', 245);
if ($status->verified) {
    // verification successful
}

The method accepts 3 parameters.

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

Contribution

Please follow the guidelines.

  • Your code must follow PSR standards.
  • Your code must pass the tests.
  • You must document and write clean code.
  • Make PR in master branch.

Thanks for your contribution and support ☺️