• Stars
    star
    547
  • Rank 81,254 (Top 2 %)
  • Language
    PHP
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ’ณ ๐Ÿ“ฆ ๐Ÿ’ฐ Laravel 6, 7, 8, 9 and 10 Package for Paystack

laravel-paystack

Latest Stable Version License Build Status Quality Score Total Downloads

A Laravel Package for working with Paystack seamlessly

Installation

PHP 5.4+ or HHVM 3.3+, and Composer are required.

To get the latest version of Laravel Paystack, simply require it

composer require unicodeveloper/laravel-paystack

Or add the following line to the require block of your composer.json file.

"unicodeveloper/laravel-paystack": "1.0.*"

You'll then need to run composer install or composer update to download it and have the autoloader updated.

Once Laravel Paystack is installed, you need to register the service provider. Open up config/app.php and add the following to the providers key.

'providers' => [
    ...
    Unicodeveloper\Paystack\PaystackServiceProvider::class,
    ...
]

If you use Laravel >= 5.5 you can skip this step and go to configuration

  • Unicodeveloper\Paystack\PaystackServiceProvider::class

Also, register the Facade like so:

'aliases' => [
    ...
    'Paystack' => Unicodeveloper\Paystack\Facades\Paystack::class,
    ...
]

Configuration

You can publish the configuration file using this command:

php artisan vendor:publish --provider="Unicodeveloper\Paystack\PaystackServiceProvider"

A configuration-file named paystack.php with some sensible defaults will be placed in your config directory:

<?php

return [

    /**
     * Public Key From Paystack Dashboard
     *
     */
    'publicKey' => getenv('PAYSTACK_PUBLIC_KEY'),

    /**
     * Secret Key From Paystack Dashboard
     *
     */
    'secretKey' => getenv('PAYSTACK_SECRET_KEY'),

    /**
     * Paystack Payment URL
     *
     */
    'paymentUrl' => getenv('PAYSTACK_PAYMENT_URL'),

    /**
     * Optional email address of the merchant
     *
     */
    'merchantEmail' => getenv('MERCHANT_EMAIL'),

];

General payment flow

Though there are multiple ways to pay an order, most payment gateways expect you to follow the following flow in your checkout process:

1. The customer is redirected to the payment provider

After the customer has gone through the checkout process and is ready to pay, the customer must be redirected to the site of the payment provider.

The redirection is accomplished by submitting a form with some hidden fields. The form must send a POST request to the site of the payment provider. The hidden fields minimally specify the amount that must be paid, the order id and a hash.

The hash is calculated using the hidden form fields and a non-public secret. The hash used by the payment provider to verify if the request is valid.

2. The customer pays on the site of the payment provider

The customer arrives on the site of the payment provider and gets to choose a payment method. All steps necessary to pay the order are taken care of by the payment provider.

3. The customer gets redirected back to your site

After having paid the order the customer is redirected back. In the redirection request to the shop-site some values are returned. The values are usually the order id, a payment result and a hash.

The hash is calculated out of some of the fields returned and a secret non-public value. This hash is used to verify if the request is valid and comes from the payment provider. It is paramount that this hash is thoroughly checked.

Usage

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

PAYSTACK_PUBLIC_KEY=xxxxxxxxxxxxx
PAYSTACK_SECRET_KEY=xxxxxxxxxxxxx
PAYSTACK_PAYMENT_URL=https://api.paystack.co
MERCHANT_EMAIL[email protected]

If you are using a hosting service like heroku, ensure to add the above details to your configuration variables.

Set up routes and controller methods like so:

Note: Make sure you have /payment/callback registered in Paystack Dashboard https://dashboard.paystack.co/#/settings/developer like so:

payment-callback

// Laravel 5.1.17 and above
Route::post('/pay', 'PaymentController@redirectToGateway')->name('pay');

OR

Route::post('/pay', [
    'uses' => 'PaymentController@redirectToGateway',
    'as' => 'pay'
]);

OR

// Laravel 8 & 9
Route::post('/pay', [App\Http\Controllers\PaymentController::class, 'redirectToGateway'])->name('pay');
Route::get('/payment/callback', 'PaymentController@handleGatewayCallback');

OR

// Laravel 5.0
Route::get('payment/callback', [
    'uses' => 'PaymentController@handleGatewayCallback'
]);

OR

// Laravel 8 & 9
Route::get('/payment/callback', [App\Http\Controllers\PaymentController::class, 'handleGatewayCallback']);
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Redirect;
use Paystack;

class PaymentController extends Controller
{

    /**
     * Redirect the User to Paystack Payment Page
     * @return Url
     */
    public function redirectToGateway()
    {
        try{
            return Paystack::getAuthorizationUrl()->redirectNow();
        }catch(\Exception $e) {
            return Redirect::back()->withMessage(['msg'=>'The paystack token has expired. Please refresh the page and try again.', 'type'=>'error']);
        }        
    }

    /**
     * Obtain Paystack payment information
     * @return void
     */
    public function handleGatewayCallback()
    {
        $paymentDetails = Paystack::getPaymentData();

        dd($paymentDetails);
        // Now you have the payment details,
        // you can store the authorization_code in your db to allow for recurrent subscriptions
        // you can then redirect or do whatever you want
    }
}
/**
 *  In the case where you need to pass the data from your 
 *  controller instead of a form
 *  Make sure to send:
 *  required: email, amount, reference, orderID(probably)
 *  optionally: currency, description, metadata
 *  e.g:
 *  
 */
$data = array(
        "amount" => 700 * 100,
        "reference" => '4g4g5485g8545jg8gj',
        "email" => '[email protected]',
        "currency" => "NGN",
        "orderID" => 23456,
    );

return Paystack::getAuthorizationUrl($data)->redirectNow();

Let me explain the fluent methods this package provides a bit here.

/**
 *  This fluent method does all the dirty work of sending a POST request with the form data
 *  to Paystack Api, then it gets the authorization Url and redirects the user to Paystack
 *  Payment Page. We've abstracted all of it, so you don't have to worry about that.
 *  Just eat your cookies while coding!
 */
Paystack::getAuthorizationUrl()->redirectNow();

/**
 * Alternatively, use the helper.
 */
paystack()->getAuthorizationUrl()->redirectNow();

/**
 * This fluent method does all the dirty work of verifying that the just concluded transaction was actually valid,
 * It verifies the transaction reference with Paystack Api and then grabs the data returned from Paystack.
 * In that data, we have a lot of good stuff, especially the `authorization_code` that you can save in your db
 * to allow for easy recurrent subscription.
 */
Paystack::getPaymentData();

/**
 * Alternatively, use the helper.
 */
paystack()->getPaymentData();

/**
 * This method gets all the customers that have performed transactions on your platform with Paystack
 * @returns array
 */
Paystack::getAllCustomers();

/**
 * Alternatively, use the helper.
 */
paystack()->getAllCustomers();


/**
 * This method gets all the plans that you have registered on Paystack
 * @returns array
 */
Paystack::getAllPlans();

/**
 * Alternatively, use the helper.
 */
paystack()->getAllPlans();


/**
 * This method gets all the transactions that have occurred
 * @returns array
 */
Paystack::getAllTransactions();

/**
 * Alternatively, use the helper.
 */
paystack()->getAllTransactions();

/**
 * This method generates a unique super secure cryptographic hash token to use as transaction reference
 * @returns string
 */
Paystack::genTranxRef();

/**
 * Alternatively, use the helper.
 */
paystack()->genTranxRef();


/**
* This method creates a subaccount to be used for split payments
* @return array
*/
Paystack::createSubAccount();

/**
 * Alternatively, use the helper.
 */
paystack()->createSubAccount();


/**
* This method fetches the details of a subaccount
* @return array
*/
Paystack::fetchSubAccount();

/**
 * Alternatively, use the helper.
 */
paystack()->fetchSubAccount();


/**
* This method lists the subaccounts associated with your paystack account
* @return array
*/
Paystack::listSubAccounts();

/**
 * Alternatively, use the helper.
 */
paystack()->listSubAccounts();


/**
* This method Updates a subaccount to be used for split payments
* @return array
*/
Paystack::updateSubAccount();

/**
 * Alternatively, use the helper.
 */
paystack()->updateSubAccount();

A sample form will look like so:

<?php
// more details https://paystack.com/docs/payments/multi-split-payments/#dynamic-splits

$split = [
   "type" => "percentage",
   "currency" => "KES",
   "subaccounts" => [
    [ "subaccount" => "ACCT_li4p6kte2dolodo", "share" => 10 ],
    [ "subaccount" => "ACCT_li4p6kte2dolodo", "share" => 30 ],
   ],
   "bearer_type" => "all",
   "main_account_share" => 70
];
?>
<form method="POST" action="{{ route('pay') }}" accept-charset="UTF-8" class="form-horizontal" role="form">
    <div class="row" style="margin-bottom:40px;">
        <div class="col-md-8 col-md-offset-2">
            <p>
                <div>
                    Lagos Eyo Print Tee Shirt
                    โ‚ฆ 2,950
                </div>
            </p>
            <input type="hidden" name="email" value="[email protected]"> {{-- required --}}
            <input type="hidden" name="orderID" value="345">
            <input type="hidden" name="amount" value="800"> {{-- required in kobo --}}
            <input type="hidden" name="quantity" value="3">
            <input type="hidden" name="currency" value="NGN">
            <input type="hidden" name="metadata" value="{{ json_encode($array = ['key_name' => 'value',]) }}" > {{-- For other necessary things you want to add to your payload. it is optional though --}}
            <input type="hidden" name="reference" value="{{ Paystack::genTranxRef() }}"> {{-- required --}}
            
            <input type="hidden" name="split_code" value="SPL_EgunGUnBeCareful"> {{-- to support transaction split. more details https://paystack.com/docs/payments/multi-split-payments/#using-transaction-splits-with-payments --}}
            <input type="hidden" name="split" value="{{ json_encode($split) }}"> {{-- to support dynamic transaction split. More details https://paystack.com/docs/payments/multi-split-payments/#dynamic-splits --}}
            {{ csrf_field() }} {{-- works only when using laravel 5.1, 5.2 --}}

            <input type="hidden" name="_token" value="{{ csrf_token() }}"> {{-- employ this in place of csrf_field only in laravel 5.0 --}}

            <p>
                <button class="btn btn-success btn-lg btn-block" type="submit" value="Pay Now!">
                    <i class="fa fa-plus-circle fa-lg"></i> Pay Now!
                </button>
            </p>
        </div>
    </div>
</form>

When clicking the submit button the customer gets redirected to the Paystack site.

So now we've redirected the customer to Paystack. The customer did some actions there (hopefully he or she paid the order) and now gets redirected back to our shop site.

Paystack will redirect the customer to the url of the route that is specified in the Callback URL of the Web Hooks section on Paystack dashboard.

We must validate if the redirect to our site is a valid request (we don't want imposters to wrongfully place non-paid order).

In the controller that handles the request coming from the payment provider, we have

Paystack::getPaymentData() - This function calls the verification methods and ensure it is a valid transaction else it throws an exception.

You can test with these details

Card Number: 4123450131001381
Expiry Date: any date in the future
CVV: 883

Todo

  • Charge Returning Customers
  • Add Comprehensive Tests
  • Implement Transaction Dashboard to see all of the transactions in your laravel app

Contributing

Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.

How can I thank you?

Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter or HackerNews? Spread the word!

Don't forget to follow me on twitter!

Thanks! Prosper Otemuyiwa.

License

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

More Repositories

1

awesome-nextjs

๐Ÿ“” ๐Ÿ“š A curated list of awesome resources : books, videos, articles about using Next.js (A minimalistic framework for universal server-rendered React applications)
9,053
star
2

awesome-opensource-apps

๐Ÿ โ„น๏ธ Curated list of awesome open source crafted web & mobile applications - Learn, Fork, Contribute & Most Importantly Enjoy!
2,875
star
3

laravel-hackathon-starter

๐Ÿ’ป :octocat: A hackathon/MVP boilerplate for laravel web applications. Start your hackathons without hassle.
PHP
1,627
star
4

awesome-tdd

๐Ÿ“– ๐Ÿš› Curated list of awesome resources: books, videos, articles about using TDD(Test Driven Development)
774
star
5

laravel-password

๐Ÿ” ๐Ÿ˜ˆ Guard your users against entering dumb passwords in your Laravel 5 apps
PHP
427
star
6

resources-i-like

๐Ÿ“š๐Ÿ’ฏ Collection of learning resources i like
333
star
7

awesome-lumen

๐Ÿ‘“ ๐Ÿ“š Curated list of awesome resources: books, videos, articles about using Lumen (PHP Microframework by Laravel)
323
star
8

laravel-emoji

๐Ÿ“ฆ ๐Ÿ˜‹ Laravel 5 Package that harnesses the power of PHP 7 unicode features to provide emojis in your laravel app
PHP
205
star
9

awesome-documentation-tools

๐Ÿ”ฅ ๐Ÿ“š All the tools, processes and resources you need to create an awesome API & Project documentation
192
star
10

laravel-identify

๐Ÿ“ฆ ๐Ÿ“ฑ Laravel 5 Package to Detect Users Browsers, Devices, Languages and Operating Systems
PHP
189
star
11

laravel-exam

๐Ÿ“š ๐Ÿ“ A Laravel exam with questions from beginner to expert curated by @unicodeveloper
174
star
12

tech-hubs

๐Ÿ  ๐Ÿข Where are the tech hubs in Nigeria?
142
star
13

laravel-mentions

๐Ÿ‘ซ ๐Ÿ“ฆ Laravel 5 Package for enabling facebook type of mentions in your application
JavaScript
63
star
14

miniflix

Miniflix - A smaller version of Netflix powered by Cloudinary
JavaScript
61
star
15

mvrd

๐Ÿš— ๐Ÿš˜ Motor Vehicle Registration Information Search Portal Library - Grab All The Data!!!
PHP
49
star
16

lindaikeji-cli

๐Ÿ’ป ๐Ÿ’ ๐Ÿ™‹ Linda Ikeji for Hackers, HR Associates, HR Managers, Lazy People et.c
JavaScript
47
star
17

laravel-cloudinary

Laravel 5, 6 & 7 Package for Media Management With Cloudinary (DEPRECATED) ๐Ÿ—„๏ธ ๐Ÿ“ ๐Ÿ—‚๏ธ
PHP
46
star
18

pwa-commits

๐Ÿ’ญ ๐Ÿ”” Progressive Web App for Commits on a Github Project - RIL
JavaScript
44
star
19

laravel-quotes

๐Ÿ“ฆ ๐Ÿ’ฏ ๐Ÿ”‘ ๐Ÿ™ Laravel 5 Package that provides all kinds of quotes from success to programming to life to DJKHALED for your Laravel app!
PHP
39
star
20

jusibe-php-lib

๐Ÿ“ฆ PHP Client Library for Jusibe SMS REST API Service
PHP
33
star
21

Csharp-jwt-authentication-sample

A C# API and GUI that supports username and password authentication with JWTs
C#
33
star
22

awesome-meanstack

๐Ÿ“”๐Ÿ“šCurated list of resources: Books, Videos, Articles about using the MEAN stack to develop apps.
32
star
23

laravel-software-install

Laravel Software Install Script Template - Most especially awesome for Open Source Projects
PHP
25
star
24

pwa-api

:neckbeard: ๐Ÿ”ฅ API for activating Push Notifications for Progressive Web App
JavaScript
25
star
25

face-detection

๐Ÿ‘จ ๐Ÿ‘ฉ An app to detect facial attributes (with focus on the eyes), on a human and append a pair of glasses or harlequin mask.
HTML
25
star
26

laravel-wikipedia

๐Ÿ“ฆ ๐ŸŒ A Wikipedia Package for Laravel 5
PHP
23
star
27

laravel-email-validator

๐Ÿ“ง ๐Ÿ“ฆ Validate email addresses on the fly in Laravel 5
PHP
23
star
28

laravel-feeder

๐Ÿ“ฎ ๐Ÿ“ฆ Laravel 5 Package to extract atom and rss feeds from any website in a very good readable format
PHP
22
star
29

awesome-sourcegraph

20
star
30

awesome-novu

๐Ÿ“” ๐Ÿ“š A curated list of awesome resources : books, videos, articles about using Novu (The open-source notification infrastructure for developers)
18
star
31

awesome-app-building-tutorials

โœ… ๐Ÿ“– Curated list of awesome resources: books, videos, articles about building practical apps from start to finish using various technologies
16
star
32

angular-2-cloudinary

An implementation of Uploads & Transformations in Angular 2 With Cloudinary
HTML
14
star
33

atom-aurelia-snippets

๐Ÿ’ฅ ๐Ÿ“ฆ Atom package: Aurelia snippets using ES6 syntax
CoffeeScript
14
star
34

laravel-ngsc

๐Ÿ“ฆ ๐Ÿ€ Laravel 5 Package that provides a fluent API for states and cities in Nigeria
PHP
11
star
35

clavatar

A clone of Gravatar, But With Better Options
PHP
11
star
36

angularjs-starter

AngularJS 1.5+ Starter Pack | Starter Template
JavaScript
10
star
37

media-blade-uikit

PHP
10
star
38

laravel-yearly

ยฉ๏ธ ๐Ÿ“ฆ Laravel 5 Package that keeps your copyright up to date. Guys, it's a serious issue, no jokes!!!
PHP
10
star
39

starwazapp

Starwarz app for the "The Ultimate Guide to Deploying Your PHP Applications" post.
PHP
10
star
40

laravel-sessiontimeout

๐Ÿ“ฆ A Middleware to help with session timeout because of user inactivity on a site/app built with Laravel 5
PHP
10
star
41

creating-transcripts-for-video

Creating Transcripts for video with Cloudinary & Google Speech
JavaScript
10
star
42

mfa-react

Multi-factor Authentication in your React Apps
JavaScript
10
star
43

jsfrontend

JavaScript
10
star
44

apollo-cloudinary

JavaScript
9
star
45

githubafrica

JavaScript
9
star
46

graphql-server

A GraphQL server built with Apollo Server and deployed with Now.
JavaScript
9
star
47

community-resume

My Community Resume 2016
8
star
48

laravel-codepen

๐Ÿ“ ๐Ÿ“ฆ A Codepen Package for Laravel 5
PHP
8
star
49

cloudinary-stencil

A Cloudinary Stencil Video Component - This is for Tutorial Purposes
TypeScript
8
star
50

things-built

๐Ÿ”ฅ ๐Ÿ’ป List of things I have built and contributed to overtime ๐Ÿ”ฅ
8
star
51

laravel-jusibe

Laravel 5 Package for Jusibe https://jusibe.com
PHP
8
star
52

follow

๐Ÿ‘ฅ๐Ÿ’ป List of Developers to follow to Netflix your career on different stacks as a developer
8
star
53

plate-number

๐Ÿš˜ ๐Ÿ“ฆ Generate random Vehicle license plate numbers
JavaScript
7
star
54

jsbackend

JavaScript
7
star
55

prosperotemuyiwa.com

๐Ÿ  Heaven or High Water of Prosper Otemuyiwa
HTML
7
star
56

cld-php-file-upload-proc

Code repository for Cloudinary File Upload Article
PHP
7
star
57

tinder

Tutorial Open Source Social Network built with Laravel
PHP
7
star
58

nexmo-webtask

Webtask to the rescue, Nexmo bringing Lunch..Marriage made in heaven
HTML
7
star
59

opensource-dashboard

๐Ÿ”ฅ ๐Ÿ”ฅ Open source dashboard to constantly inspire me to contribute to the community. Work in progress
PHP
7
star
60

jusibe-webtask

Webtask Script for Sending SMS - Using the Jusibe SMS Service
JavaScript
7
star
61

DevStatus

โšก ๐Ÿ’ก Simple Lumen Microservice to show a Developer Status in relation to Open Source contributions
PHP
7
star
62

cool-ascii-faces

๐ŸŽญ ๐Ÿ“ฆ PHP Package to Show beautiful cool ascii faces like แ•™เผผเบˆู„อœเบˆเผฝแ•— in your terminal
PHP
6
star
63

pluscodes

PHP Implementation of Google Open Location Code (Plus+Codes)
PHP
6
star
64

nodejs-funstuff

JavaScript
6
star
65

laravel-devstatus

๐Ÿ™‡ ๐Ÿ’ผ Laravel 5 Package to Display your status as an Open Source Evangelist ( For Tutorial purpose )
PHP
6
star
66

naija-statecapital

๐ŸŒ ๐Ÿ“ฆ A simple utility library that lists and manipulate states, capitals and cities in Nigeria ๐Ÿ†–
JavaScript
6
star
67

justbuild.io

Landing page of justbuild.io ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ
CSS
6
star
68

pupstagram

Created with CodeSandbox
JavaScript
6
star
69

celebrity-detection

๐Ÿ™Š ๐Ÿ™€ An app that automatically detects celebrities in a photo. Name them: Denzel, Rihanna, Tiger Wood, Barack Obama, Morgan Freeman, etc
HTML
6
star
70

pocco

๐Ÿ”ฅ ๐Ÿ”ฅ Pocco is a quick and dirty, literate-programming-style documentation generator for PHP
PHP
6
star
71

meanmap

๐Ÿ˜ก ๐ŸŒ Meanmap's Open Source Application Built With The Mean Stack
CSS
5
star
72

laravel-medium

๐Ÿ“ฆ A Medium Package for Laravel 5
PHP
5
star
73

image-chatbot

Image Editing ChatBot
JavaScript
5
star
74

cloudinary-php-cheatsheet

Cloudinary PHP Cheatsheet - All methods & functions in one place! ๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿ”ฅ
PHP
5
star
75

angular2-auth-starter

๐Ÿ”ฅ :octocat: An hackathon/MVP boilerplate for Angular 2 web applications with Authentication out of the box.
5
star
76

laravel-sparkle

Fork of Former Open Sourced Laravel Spark, Now Sparkle
PHP
4
star
77

apolloserver

JavaScript
4
star
78

decorator

:octocat: ๐Ÿ“† Decorate your Github contribution calendar with commits for the past n days
Python
4
star
79

naija-postal-code

๐Ÿฃ ๐Ÿ“ฎ ๐Ÿ“ฆ A library for retrieving Nigeria Postal Codes
4
star
80

face-palm

๐Ÿ˜„ ๐Ÿ“ฆ Display your face or images in the console
JavaScript
4
star
81

devcraft-demo

Demo app for using auth0 for identity management. Codelab for workshop at DevCraft, Nairobi 2016 (http://dev-craft.co.ke)
JavaScript
4
star
82

typingspeed-bot

๐Ÿ’ฌ๐Ÿ’ป A bot for you & your team to measure your typing speed on Slack
CoffeeScript
4
star
83

edd-styleguide

Emoji Driven Development - Git Commit Message Style Guide ๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿ™Œ ๐Ÿ™Œ ๐Ÿ™Œ
HTML
4
star
84

lifechanger

Lifechanger app - Webinar Demo for inspiring people to learn how to build apps with Laravel Spark
JavaScript
4
star
85

hackathon-installer

๐Ÿฆ ๐Ÿญ Installer For Laravel Hackathon Starter Pack
PHP
3
star
86

unicodeveloper

3
star
87

psql-cheatsheet

Postgresql psql cheatsheet
3
star
88

angular-elevator

AngularJs Wrapper For Elevator.js
HTML
3
star
89

server-subscription

JavaScript
3
star
90

stateless-sessions

Stateless sessions, XSS and CSRF mitigations
CSS
2
star
91

laravel-shave

Shave everything shavable....Remove those scruffy edges!
2
star
92

auth-jwt

Node-Express User Api registration and auth module with json web token (No Passport)
JavaScript
2
star
93

lazy-load-demo

TypeScript
2
star
94

eloquent-journey

Laravel Eloquent For Days Tutorial
PHP
2
star
95

laravel-auth0

Adding Authentication to a Laravel App using Auth0
PHP
2
star
96

logger-with-manifold

Test Logger App with Manifold - http://manifold.co
JavaScript
2
star
97

s3uploadfiles

PHP
2
star
98

tour-of-heroes

Tour of Heroes Angular Application Deployed to ZEIT Now
TypeScript
2
star
99

greyscale

How To Grayscale Images in Laravel 5
PHP
2
star
100

auth0-thisdata

Sample app to show Auth0 +ThisData Rule Integration
JavaScript
2
star