sujanshresthanet / esewa-php-sdk
eSewa payment gateway integration in PHP.
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^8.5
- vlucas/phpdotenv: ^5.1
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
- 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.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.
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
.
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.
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.)
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 ☺️