Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

matscode/paystack-php-sdk

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' => 'customer.email@gmail.com',
 '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('customer.email@gmail.com')
 ->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

AltStyle によって変換されたページ (->オリジナル) /