Visit matscode/paystack for v1.9.1 and below of this SDK
- Transaction (
Initialize,List,Verify) - Bank (
List,Resolve account)
More resources would be added in time
CustomersPlansSubscriptionTransfersothers...
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.
- GuzzleHttp
composer require matscode/paystack-php-sdk
require_once __DIR__ . "/vendor/autoload.php";
- Download the archive
- Extract into your project
- And lastly
require_once __DIR__ . "/vendor/autoload.php";
use Matscode\Paystack\Paystack; $paystackSecret = 'sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $Paystack = new Paystack($paystackSecret);
$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);
$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);
$response = $Paystack->bank->list();
$bank_code='0000'; $account_number='0987654321' $response = $Paystack->bank->resolve($bank_code, $account_number); //result: returns account information is found, throws exception otherwise