Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arif98741/sslcommerz
SSLCommerz Payment Gateway for Laravel
https://github.com/arif98741/sslcommerz
Last synced: about 2 months ago
JSON representation
SSLCommerz Payment Gateway for Laravel
- Host: GitHub
- URL: https://github.com/arif98741/sslcommerz
- Owner: arif98741
- License: mit
- Fork: true (mahabubulhasan/sslcommerz)
- Created: 2022-08-08T12:47:39.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T19:44:16.000Z (over 1 year ago)
- Last Synced: 2024-09-18T03:58:41.745Z (2 months ago)
- Language: PHP
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SSLCommerz
This is a fork of uzzal/sslcommerz package for laravel.
[SSLCommerz](https://www.sslcommerz.com) Payment gateway library for Laravel framework. Official documentation is [here](https://developer.sslcommerz.com/docs.html).## install
```
composer require xenon/sslcommerz
```### publish
```
php artisan vendor:publish --provider=Xenon\SslCommerz\SslCommerzServiceProvider
```
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
IPN_URL=http://your-domain.at/ipn.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.
```php
$customer = new Customer('Mahabubul Hasan', '[email protected]', '0171xxxxx22');
$resp = Client::initSession($customer, 29); //29 is the amount
echo $resp->getGatewayUrl();
```
or with configuration
```php
$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.```php
$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 notification to your
specified IPN url. To grab the notification use the following code. For more details [see here](https://developer.sslcommerz.com/docs.html)
```php
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);
}
```