Skip to content

Paystack PHP SDK

License

Notifications You must be signed in to change notification settings

matscode/paystack-php-sdk

Folders and files

NameName
Last commit message
Last commit date
May 19, 2022
May 19, 2022
May 19, 2022
Jan 13, 2021
Jan 13, 2021
May 19, 2022
Jul 5, 2022
Mar 8, 2019
May 19, 2022
May 19, 2022
Jan 15, 2021
May 19, 2022
Jan 13, 2021

Repository files navigation

Paystack PHP SDK

API Doc | Demo

Visit matscode/paystack for v1.9.1 and below of this SDK

Available resources

  • Transaction (Initialize, List, Verify)
  • Bank (List, Resolve account)

Resource roadmap

More resources would be added in time

  • Customers
  • Plans
  • Subscription
  • Transfers
  • others...

This SDK communicates with Paystack API. You need to have a paystack merchant account and paystack secret key to use this SDK.

Development is actively ongoing while releases are Stable.
If you find a BUG/Security Issue, do be kind to open an issue or email Me.

Requirements

  • GuzzleHttp

Installation

composer require matscode/paystack-php-sdk
require_once __DIR__ . "/vendor/autoload.php";

Manual

  • Download the archive
  • Extract into your project
  • And lastly
    require_once __DIR__ . "/vendor/autoload.php";

Initialize Paystack SDK

use Matscode\Paystack\Paystack;

$paystackSecret = 'sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$Paystack = new Paystack($paystackSecret);

Transaction Resource

Initialize Charge

$response = $Paystack->transaction->initialize([
            'email'  => '[email protected]',
            'amount' => 500000, // amount is in kobo
            'callback_url' => 'https://www.app.local/paystack/transaction/verify'
        ]);

OR

// Set data to post using this method
$response = $Paystack->transaction
            ->setCallbackUrl('https://www.app.local/paystack/transaction/verify')
            ->setEmail('[email protected]')
            ->setAmount(75000) // amount is treated in Naira while using this setAmount() method
            ->initialize();

Now do a redirect to payment page (using authorization_url)
Recommended to check if authorization_url is set, and save your transaction reference code. useful to verify Transaction status

// recommend to save Transaction reference in database and do a redirect
header('Location: ' . $response->data->authorization_url);

Verifying Transaction

$reference_code = $_GET['reference']
$response = $Paystack->transaction->verify($reference_code);

OR

// This method does the check for you and return `(bool) true|false` 
$response = $Paystack->transaction->isSuccessful($reference_code);

Bank Resource

Get list of banks

$response = $Paystack->bank->list();

Resolve account info

$bank_code='0000';
$account_number='0987654321'
$response = $Paystack->bank->resolve($bank_code, $account_number); 
//result: returns account information is found, throws exception otherwise

Contact

Personal Home | Email