Home
Softono

Sslcommerz

Open source MIT PHP
12
Stars
11
Forks
1
Issues
3
Watchers
6 years
Last Commit

 About Sslcommerz

SSLCommerz Payment Gateway for Laravel

Platforms

Web Self-hosted

Languages

PHP

Links

Need Help Installing Sslcommerz?

We provide expert installation service for this software. Our team will install, configure, and secure Sslcommerz on your server. plans start at just $30.

Sslcommerz

View on GitHub

SSLCommerz

SSLCommerz Payment gateway library for Laravel framework. Official documentation is here.

install

composer require uzzal/sslcommerz

publish

artisan vendor:publish

This command will create a sslcommerz.php file inside the config directory. Configure your parameters in your .env file

#sslcommerz
STORE_ID=your_store_id
STORE_PASSWORD=your_store_password
SUCCESS_URL=http://your-domain.at/success.php
FAIL_URL=http://your-domain.at/fail.php
CANCEL_URL=http://your-domain.at/cancel.php
SANDBOX_MODE=true

Initiating a Payment session

This initSession will give you a gateway url. With this url you will be able to continue the payment through sslcommerz.

$customer = new Customer('Mahabubul Hasan', '[email protected]', '0171xxxxx22');
$resp = Client::initSession($customer, 29); //29 is the amount
echo $resp->getGatewayUrl();

or with configuration

$customer = new Customer('Mahabubul Hasan', '[email protected]', '0171xxxxx22');
$config[SessionRequest::EMI] = '0';
$resp = Client::initSession($customer, 29, $config);
echo $resp->getGatewayUrl();

Request for Validation

This verifyOrder method takes a val_id as parameter which you will get in the IPN request.

$resp = Client::verifyOrder('180828114058np43AJdzJJOsYzc');
echo 'status: '.$resp->getStatus();
echo 'transaction: '.$resp->getTransactionId();

IPN Listener (Step 4,5)

After filling the card information and submission in the sslcommerz window it will send a IPN notificaion to your specified IPN url. To grab the notification use the following code. For more details see here

if(ipn_hash_varify(config('sslcommerz.store_password'))){
    $ipn = new IpnNotification($_POST);
    $val_id = $ipn->getValId();
    $transaction_id = $ipn->getTransactionId();
    $amount = $ipn->getAmount();
    $resp = Client::verifyOrder($val_id);
} 

SSLCommerz process flow

alt text