Skip to content
Fastest Way To Setup Paystack Checkout Form In Your Laravel Application
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
src
tests
.editorconfig
.gitattributes
.gitignore
.scrutinizer.yml
.styleci.yml
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE.md
README.md
composer.json
phpunit.xml.dist

README.md

Latest Version on Packagist Build Status Quality Score GitHub license Total Downloads

# Paystack Lite - Use Paystack Checkout Form on the go. Paystack Lite creates a blade directive you can include in your views. This is the easiest integration of paystack checkout form for Laravel applications.

Installation

  1. Install PaystackLite with composer
composer require stephenjude/paystack-lite
  1. if you are using Laravel less than 5.4 Add Stephenjude\PaystackLite\PaystackLiteServiceProvider::class to the providers array in your config/app.php.

  2. Open your .env file and add your public key, secret key, customer default email and payment url like so:

PAYSTACK_PUBLIC_KEY=xxxxxxxxxxxxx
PAYSTACK_SECRET_KEY=xxxxxxxxxxxxx
PAYSTACK_PAYMENT_URL=https://api.paystack.co
PAYSTACK_CUSTOMER_DEFAULT_EMAIL=general@email.com

Usage

Paystack-lite make use of blade directive to abstract away all javascript configurations for setting up paystack checkout forms.

Paystack Popup Example

Include the Blade Directive (@paystack) somewhere in your template before your main application JavaScript is loaded.

The @paystack blade directive creates payWithPaystack(amount, email, meta, onPaymentCompleted, onPaymentCancelled) JavaScript helper which takes five parameters. the amount, customer email, meta data, callback for payment completed and callback when checkout form is closed.

    var amount = 1000;
    var email = 'customer@email.com';
    var meta = {
        custom_fields: [
            {
                display_name: "Name",
                variable_name: "name",
                value: "My Customer"
            }
         ]
    }; 

    document.getElementById('paymentBtn').onclick = function() {
        //display checkout form
        payWithPaystack(amount, email, meta, onPaymentCompleted, onPaymentCancelled);
    };

    function onPaymentCompleted(response) {
        alert('payment completed!');
        console.log(resposne);
    }

    function onPaymentCancelled() {
        alert('payment cancelled!');
    }

Paystack Emebeded Example

Include the paystack embeded blade directive inside of your html container

    <div>
        @paystackEmbeded(1000, 'onPaymentCompleted', 'customer@email.com')
    </div>

Add your javascript callback function

   
    function onPaymentCompleted(response) {
        alert('payment completed!');
        console.log(resposne);
    }

Paystack Fluent APIs

This package makes use of bosunski/lpaystack package. So you can use all paystack fluent APIs provided in the package.

Usage


    use Stephenjude\PaystackLite\Facades\PaystackLite;


    /**
     * This gets all your transactions
     */
    PaystackLite::api()->transactions()->list();
    
    /**
     * This verifies a transaction with transaction reference passed as parameter
     */
    PaystackLite::api()->transactions()->verify($ref);

    /**
     * This  gets all your paystack customers.
     */
    PaystackLite::api()->customers()->list();

    /**
     * This  gets all the plans that you have registered on Paystack
     */
    PaystackLite::api()->plans()->list();

See the supported Paystack APIs here.

Changelog

Please see CHANGELOG for more information what has changed recently.

Security

If you discover any security related issues, please email stephen@ahoba.org.ng instead of using the issue tracker.

License

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

You can’t perform that action at this time.