GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - matscode/paystack-php-sdk: Paystack PHP SDK

BranchesTags
Open more actions menu

Latest commit

 

History

58 Commits
58 Commits

Folders and files

NameName
Last commit message
Last commit date
.phpdoc
.phpdoc
 
 
docs
docs
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
_config.yml
_config.yml
 
 
composer.json
composer.json
 
 
composer.lock
composer.lock
 
 
phpcs.xml
phpcs.xml
 
 
phpdoc.dist.xml
phpdoc.dist.xml
 
 
phpunit.dist.xml
phpunit.dist.xml
 
 

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

About

Paystack PHP SDK

Topics

payment-integrationpayment-processingpayment-processorpaystackpaystack-apipaystack-librarypaystack-phppaystack-php-sdkpaystack-sdkpaystack-wrapperphpstripetransaction

Resources

Readme
GPL-3.0 license
Activity

Stars

5 stars

Watchers

1 watching

Forks

1 fork
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.