matscode / paystack-php-sdk
Paystack PHP SDK is for communicating with PAYSTACK API
Installs: 3 082
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 3
Requires
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- mockery/mockery: 1.4.x-dev
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: 3.*
README
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