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

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Ariful Islam
Ariful Islam

Written by Ariful Islam

Working on PHP, Laravel, CI, CakePHP, API. Open Source contributor, Cloud Expert, Project Consultant, Technical Writer. Owner at https://programmingmindset.com

No responses yet

Write a response