Code Monkey home page Code Monkey logo

paystack-php-sdk's Introduction

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

paystack-php-sdk's People

Contributors

matscode avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

somofola

paystack-php-sdk's Issues

403 ERROR

Hi there.
Did anyone experience this error at some point during integration?

Client error: POST https://api.paystack.co/transaction/initialize resulted in a 403 Forbidden response:

<title>Just a moment...</title><title>Just a moment...</title>","file":"/www/wwwroot/api.domain.com/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php","line":113}

Issue initiating transaction

Using the example found on the readme is throwing an exception error.

Kindly look into correcting it.

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

Request for Collaboration

Hello there,
I would really love to collaborate you on this project
if it's okay by you
you can create a PR and assign it to me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.