1. Go to this page and download the library: Download faridibin/paystack-laravel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
faridibin / paystack-laravel example snippets
use Faridibin\PaystackLaravel\Facades\Paystack;
// Initialize a transaction
$response = Paystack::transactions()->initialize(amount: 50000, email: '[email protected]');
$authUrl = $response->getData()->authorization_url;
// Verify a transaction
Paystack::transactions()->verify('ref_abc123');
// Create a customer
Paystack::customers()->create([
'email' => '[email protected]',
'first_name' => 'John',
'last_name' => 'Doe',
]);
// Create a plan
Paystack::plans()->create('Monthly', amount: 10000, interval: 'monthly');
// Initiate a transfer (reference must be unique per request —
PaystackServices::payments() // enables all payment services
PaystackServices::transfers() // enables all transfer services
use Faridibin\PaystackLaravel\Events\WebhookReceived;
use Faridibin\PaystackLaravel\Events\WebhookHandled;
// Fired for every valid webhook
Event::listen(WebhookReceived::class, function (WebhookReceived $event) {
// $event->event → WebhookEvent enum case
// $event->data → payload array
});
Event::listen(WebhookHandled::class, function (WebhookHandled $event) {
// fired after a specific handler ran
});
use Faridibin\PaystackLaravel\Events\ChargeSuccessEvent;
Event::listen(ChargeSuccessEvent::class, function (ChargeSuccessEvent $event) {
// $event->data — the webhook payload's data array
$reference = $event->data['reference'];
// fulfil the order...
});
namespace App\Http\Controllers;
use Faridibin\PaystackLaravel\Http\Controllers\WebhookController as BaseWebhookController;
use Symfony\Component\HttpFoundation\Response;
class PaystackWebhookController extends BaseWebhookController
{
protected function onChargeSuccess(array $data): Response
{
// $data is the webhook payload's data array
// update order status, send receipt, etc.
return $this->successMethod();
}
protected function onTransferSuccess(array $data): Response
{
return $this->successMethod();
}
}