Home
Softono
SSLaraCommerz

SSLaraCommerz

Open source MIT PHP
22
Stars
4
Forks
0
Issues
6
Watchers
3 years
Last Commit

About SSLaraCommerz

# SSLaraCommerz - Laravel Package > A package for SSLCommerz Payment Gateway \ <sub><sup>Inspired by [SSLCommerz](https://github.com/sslcommerz/SSLCommerz-Laravel)</sup></sub> \ [SSLCommerz](https://www.sslcommerz.com) Payment gateway library for Laravel framework. Official documentation is [here](https://developer.sslcommerz.com/docs.html). [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md) [![Latest Version on Packagist](https://img.shields.io/packagist/v/afzalsabbir/sslaracommerz.svg?style=flat-square)](https://packagist.org/packages/afzalsabbir/sslaracommerz) [![Build Status](https://img.shields.io/travis/afzalsabbir/sslaracommerz/master.svg?style=flat-square)](https://travis-ci.org/afzalsabbir/sslaracommerz) [![Quality Score](https://img.shields.io/scrutinizer/g/afzalsabbir/sslaracommerz.svg?style=flat-square)](https://scrutinizer-ci.com/g/afzalsabbir/sslaracommerz) [![Commits Since](https://img.shields.io/github/commits-since/afzalsabbir/sslar ...

Platforms

Web Self-hosted

Languages

PHP

Links

SSLaraCommerz - Laravel Package

A package for SSLCommerz Payment Gateway \ Inspired by SSLCommerz \ SSLCommerz Payment gateway library for Laravel framework. Official documentation is here.

Software License Latest Version on Packagist Build Status Quality Score [Commits Since]()

[GitHub contributors]() [GitHub issues]() [GitHub issues]()

[GitHub forks]() [GitHub stars]() [GitHub watchers]() [GitHub followers]() [Twitter Follow]()

Total Downloads [GitHub code size in bytes]() [GitHub repo size in bytes]()

[GitHub last commit]() [GitHub commit activity the past week, 4 weeks, year]() [GitHub commit activity the past week, 4 weeks, year]() [GitHub commit activity the past week, 4 weeks, year]()

[GitHub release]() [GitHub release date]()

[GitHub tag]() [GitHub release]() [GitHub release]()

Tags: Payment Gateway, SSLCommerz, IPN, Laravel, SSLaraCommerz

Requires: Laravel >= 5.6 and MySQL

License: MIT License

Install

composer require afzalsabbir/sslaracommerz

Migration

php artisan migrate

Instructions

Vendor Publish - Required

# Public Assets
php artisan vendor:publish --provider="AfzalSabbir\SSLaraCommerz\SSLaraCommerzServiceProvider" --tag="public-assets"

Public Assets: To integrate popup checkout, use the below script before the end of body tag.

  • For Sandbox

      <script>
          (function (window, document) {
              var loader = function () {
                  var script = document.createElement("script"),
                      tag    = document.getElementsByTagName("script")[0];
                  script.src = "https://sandbox.sslcommerz.com/embed.min.js?" + Math.random().toString(36).substring(7);
                  tag.parentNode.insertBefore(script, tag);
              };
    
              window.addEventListener ? window.addEventListener("load", loader, false) : window.attachEvent("onload", loader);
          })(window, document);
      </script>

    or, Publish the Public Assets and use the below sandbox script

      <script src="/assets/js/sandbox.js"></script>
  • For Live

      <script>
          (function (window, document) {
              var loader = function () {
                  var script = document.createElement("script"),
                      tag    = document.getElementsByTagName("script")[0];
                  script.src = "https://seamless-epay.sslcommerz.com/embed.min.js?" + Math.random().toString(36).substring(7);
                  tag.parentNode.insertBefore(script, tag);
              };
    
              window.addEventListener ? window.addEventListener("load", loader, false) : window.attachEvent("onload", loader);
          })(window, document);
      </script>

    or, Publish the Public Assets and use the below live script

      <script src="/assets/js/live.js"></script>

# Routes and Controller
php artisan vendor:publish --provider="AfzalSabbir\SSLaraCommerz\SSLaraCommerzServiceProvider" --tag="routes-controller"

Routes and Controller: To customize the routes and controller, use the below command.

  • Add $this->loadRoutesFrom(base_path('routes/sslcommerz.php')); in app/Providers/RouteServiceProvider.php

      namespace App\Providers;
    
      // ...
    
      class RouteServiceProvider extends ServiceProvider
      {
          // ...
          public function boot()
          {
              // ...
              $this->loadRoutesFrom(base_path('routes/sslcommerz.php'));
          }
          // ...
      }

Vendor Publish - Optional

# Config
php artisan vendor:publish --provider="AfzalSabbir\SSLaraCommerz\SSLaraCommerzServiceProvider" --tag="config"

# Views
## Namespace: sslaracommerz
php artisan vendor:publish --provider="AfzalSabbir\SSLaraCommerz\SSLaraCommerzServiceProvider" --tag="views"

# Migrations
php artisan vendor:publish --provider="AfzalSabbir\SSLaraCommerz\SSLaraCommerzServiceProvider" --tag="migrations"

Note: If you later encounter issues with session destroying after redirect, you can set 'same_site' => null, in your config/session.php file.

  • Step 1: Add STORE_ID and STORE_PASSWORD values on your project's .env file. You can register for a store at https://developer.sslcommerz.com/registration/

  • Step 2: Add the below routes into the $excepts array of VerifyCsrfToken middleware.

      protected $except = [
          '/pay-via-ajax', '/success','/cancel','/fail','/ipn'
      ];

Now, let's go to the main integration part.

  • Step 3: Use the below button where you want to show the "Pay Now" button:

      <button class="your-button-class" id="sslczPayBtn"
              token="if you have any token validation"
              postdata="your javascript arrays or objects which requires in backend"
              order="If you already have the transaction generated for current order"
              endpoint="/pay-via-ajax"> Pay Now
      </button>
  • Step 4: For EasyCheckout (Popup) integration, you can update the checkout_ajax.php or use a different file according to your need. We have provided a basic sample page from where you can kickstart the payment gateway integration.

  • Step 5: For Hosted Checkout integration, you can update the checkout_hosted.php or use a different file according to your need. We have provided a basic sample page from where you can kickstart the payment gateway integration.

  • Step 6: For redirecting action from SSLCommerz Payment gateway, we have also provided sample success.php , cancel.php, fail.phpfiles. You can update those files according to your need.

Original Documentation

For more clear concept read: SSLCommerz README.md

Testing

Run the tests with:

vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security-related issues, please email [email protected] instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.