PHP Laravel package for Easebuzz Payment Gateway pay.easebuzz.in
Setup php kits on test/development/production environment install below software
- PHP 5.5 or above
A. Install via composer
composer require gdbhosale/paywitheasebuzz-php
B. Usage:
use Easebuzz\Easebuzz;
$MERCHANT_KEY = "10PBP71ABZ2";
$SALT = "ABC55E8IBW";
$ENV = "test"; // set enviroment name : test / development / production
$easebuzzObj = new Easebuzz($MERCHANT_KEY, $SALT, $ENV);
Easebuzz API calls:
-
Initiate Payment API
POST Format and call initiatePaymentAPI
$postData = array ( "txnid" => "T3SAT0B5OL", "amount" => "100.0", "firstname" => "jitendra", "email" => "test@gmail.com", "phone" => "1231231235", "productinfo" => "Laptop", "surl" => "http://localhost:3000/response.php", "furl" => "http://localhost:3000/response.php", "udf1" => "aaaa", "udf2" => "aaaa", "udf3" => "aaaa", "udf4" => "aaaa", "udf5" => "aaaa", "address1" => "aaaa", "address2" => "aaaa", "city" => "aaaa", "state" => "aaaa", "country" => "aaaa", "zipcode" => "123123" ); $easebuzzObj->initiatePaymentAPI($postData);
-
"sub_merchant_id" : - Mandatory parameter if you are using sub-aggregator feature otherwise not mandatory.Here Pass sub-aggregator id.You can create sub aggregator from Easebuzz dashboard web portal."
-
"unique_id" : - Mandatory parameter if you are using customer save card feature otherwise not mandatory. This is customer’s unique id. You need to enable save card feature from the Easebuzz dashboard web portal.
-
"split_payments" : - Mandatory parameter if you are using split payment feature otherwise not mandatory.You need to pass here payment slots in JSON format like {"label_HDFC": 100,"label_icici":100}, Please use label provided by Easebuzz team.
e.g. "split_payments" => { "axisaccount" : 100, "hdfcaccount" : 100}
-
-
Transaction API
POST Format and call transaction API
$postData = array ( "txnid" => "TZIF0SS24C", "amount" => "1.03", "email" => "test@gmail.com", "phone" => "1231231235" ); $result = $easebuzzObj->transactionAPI($postData);
-
Transaction API (by date)
POST Format and call transactionDateAPI
$postData = array( "merchant_email" => "jitendra@gmail.com", "transaction_date" => "06-06-2018" ); $result = $easebuzzObj->transactionDateAPI($postData);
-
Refund API
POST Format and call refundAPI
$postData = array( "txnid" => "ASD20088", "refund_amount" => "1.03", "phone" => "1231231235", "email" => "test@gmail.com", "amount" => "1.03" ); $result = $easebuzzObj->refundAPI($postData);
-
Payout API
POST Format and call payoutAPI
$postData = array( "merchant_email" => "jitendra@gmail.com", "payout_date" => "08-06-2018" ); $result = $easebuzzObj->payoutAPI($postData);
-
Handle Initiate Payment API response
Note:- initiate payment API response will get for success URL or failure URL
- Import Easebuzz library
use Easebuzz\Easebuzz;
- set $SALT
$SALT = "ABC55E8IBW";
- create Easebuzz class object and pass $SALT.
$easebuzzObj = new Easebuzz($MERCHANT_KEY = null, $SALT, $ENV = null);
- call Easebuzz class methods or functions
$result = $easebuzzObj->easebuzzResponse($_POST);
- Import Easebuzz library
-
If the server is not supporting the header():-
Note:- Please follow the below steps.
-
Go to the path easebuzz-lib/payment.php
-
Open the payment.php file
-
Goto the function _paymentResponse($result) and un-comment the below code.
function _paymentResponse($result){ if ($result->status === 1){ // first way (comment below line) // header( 'Location:' . $result->data ); // second way (un-comment below code) echo " <script type='text/javascript'> window.location ='".$result->data."' </script> "; exit(); }else{ //echo '<h3>'.$result['data'].'</h3>'; print_r(json_encode($result)); } }
-
-
If you have to enable ease checkout (iframe) in php kit :-
Note:- Please follow the below steps.*
-
Go to the path easebuzz-lib/easebuzz_payment_gateway.php
-
Open the easebuzz_payment_gateway.php file
-
Go to the function initiatePaymentAPI($params, $redirect=False) change in below code.
public function initiatePaymentAPI($params, $redirect=False) { return initiate_payment($params, $redirect, $this->MERCHANT_KEY, $this->SALT, $this->ENV); }
-
$redirect parameter as False for ease checkout (iframe).
-
$redirect parameter as True for Hosted checkout .
-