Paystack is a PHP & Laravel package, that makes working with Paystack api a breeze.
Laravel and Core PHP supported library for Paystack
-
Customers
-
Transactions
-
Transaction Split
-
Terminal
-
Misc
-
composer require musheabdulhakim/paystack
require_once __DIR__ . "/vendor/autoload.php";
- Download the archive
- Extract into your project
- Run composer
composer install
- And lastly
require_once __DIR__ . "/vendor/autoload.php";
-
git clone https://github.com/MusheAbdulHakim/Paystack.git
composer install
require_once __DIR__ . "/vendor/autoload.php";
-
Using
.env
file, set the values of your keysSECRET_KEY = "sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" PUBLIC_KEY = "pk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" MERCHANT_EMAIL = "test@example.com"
<?php use Musheabdulhakim\Paystack\Paystack; include_once('./vendor/autoload.php'); $paystack = new Paystack();
-
If you don't want to use .env file, you can set the values by passing it to the initialized class.
<?php use Musheabdulhakim\Paystack\Paystack; include_once('./vendor/autoload.php'); $paystack = new Paystack([ 'SECRET_KEY' => 'sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'PUBLIC_KEY' => 'pk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'MERCHANT_EMAIL' => 'test@example.com' ]);
$transaction = $paystack->transaction(
$email,
$amount,
[
// optional parameters
]
);
//or
$transaction = $paystack->transaction('test@transaction.com','1000');
//or
$transaction = $paystack->transaction('test@transaction.com','1000',[
// optional parameters
]);
//or
$paystack->transaction->init(
$email,
$amount,
[
// optional parameters
]
);
//or
$params = [
'email' => "customer@email.com",
'amount' => "20000",
'split_code' => 'SPL_98WF13Eb3w'
];
$paystack->transaction->initialize($params);
$transaction = $paystack->transaction->verify('1vl0abs51p');
$transaction = $paystack->transaction()->verify('1vs0ars51p');
//check the status of the transaction
$transaction_status = $paystack->transaction->verify('1vl0abs51p')["status"];
$transactions = $paystack->transaction->list();
//or
$transaction = $paystack->transaction()->list();
//pass optional parameters to the list method
$params = [
'page' => '',
'customer' => '',
'terminalid' => ''
];
$transactions = $paystack->transaction->list($params);
$transaction = $paystack->transaction->fetch(2745284445);
//or
$transaction = $paystack->transaction()->fetch(2745284445);
$params = [
//optional parameters
];
$transaction = $paystack->transaction->chargeAuth('test@gmail.com','10000','AUTH_ir6emhfrpk',$params);
$transaction_timeline = $paystack->transaction->timeline('1vl0abs51p');
$params = [
// Your query parameters
];
$transation_total = $paystack->transaction->total($params);
$params = [
// Your query parameters
];
$export = $paystack->transaction->export($params);
$params = [
// Your query parameters
];
$trans = $paystack->transaction->partialDebit($authorization_code, $currency, $amount, $email, $params);
- You can override the Client class and use your own http client
To run the tests, run the following command from the project folder.
./vendor/bin/phpunit
The MIT License (MIT). See the License File for more information.