Paystation Payment Gateway Integration with PHP Application

Ariful Islam
2 min readJun 20, 2023

xenon/paystation is a php library for Bangladeshi payment gateway provider. You can integrate this in your php application and get customer payment using mfs, credit card and so on

Installation

composer require xenon/paystation

Step:1 Create Payment and Redirect to Payment Url

use Xenon\Paystation\Exception\PaystationPaymentParameterException;
use Xenon\Paystation\Paystation;

require 'vendor/autoload.php';

try {
$config = [
'merchantId' => 'xxx',
'password' => 'xxxx'
];
$pay = new Paystation($config);
$pay->setPaymentParams([
'invoice_number' => 'XXXXXXXXXXXX',
'currency' => "BDT",
'payment_amount' => 1,
'reference' => "102030",
'cust_name' => "Jhon Max",
'cust_phone' => "01700000001",
'cust_email' => "max@gmail.com",
'cust_address' => "Dhaka, Bangladesh",
'callback_url' => "http://www.yourdomain.com/success.php",
// 'checkout_items' => "orderItems"
]);
$pay->payNow(); //will automatically redirect to gateway payment page
} catch (Exception $e) {
var_dump($e->getMessage());
}

Step:2 Verify Payment

$config = [
'merchantId' => 'xxx',
'password' => 'xxxx'
];
$pay = new Paystation($config);
$status = $pay->verifyPayment("invoice_number","trx_id"); //this will retrieve response as json

sample json response for transaction verification(Failed)

{
"status_code": "1006",
"status": "failed",
"message": "Transaction not found in system"
}

sample json response for transaction verification(Success)

{
"status_code": "200",
"status": "success",
"message": "Transaction found",
"data": {
"invoice_number": "ddsf648feebc415138XXXXX",
"trx_status": "Success",
"trx_id": "AFJ7IXXX",
"payment_amount": 1,
"order_date_time": "2023-06-19 11:57:04",
"payer_mobile_no": "01750XXXX",
"payment_method": "bKash",
"reference": "102030",
"checkout_items": null,
"cust_phone": "01700000001"
}
}

Important Methods

  • setPaymentParams()
  • payNow()
  • verifyPayment()

This library is still in beta version and if you are interested to contribute this , we highly encourage you. Make a fork of this repository and give send a pull request. If you face any issues or error during development or after deployment, you should crate an issue

--

--

Ariful Islam

Software Engineer. Like to work on PHP, Laravel, CI, CakePhp, API. Proud contributor in Github, Cloud Expert, Project Consultant; github.com/arif98741