1. Go to this page and download the library: Download scwar/laravel-monnify-sdk 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/ */
scwar / laravel-monnify-sdk example snippets
use Scwar\Monnify\Facades\Monnify;
use Scwar\Monnify\Facades\Monnify;
$transaction = Monnify::transaction()->initialize([
'amount' => 1000.00,
'customerName' => 'John Doe',
'customerEmail' => '[email protected]',
'paymentReference' => 'unique-payment-reference',
'paymentDescription' => 'Payment for order #123',
'currencyCode' => 'NGN',
'redirectUrl' => 'https://your-app.com/payment/callback',
'metadata' => [
'order_id' => 123,
'user_id' => 456,
],
]);
// Get the checkout URL
$checkoutUrl = $transaction->checkoutUrl;
// Redirect user to checkout
return redirect($checkoutUrl);
$transaction = Monnify::transaction()->getStatus('transaction-reference');
if ($transaction->status === 'PAID') {
// Transaction is successful
}
use Scwar\Monnify\Events\TransactionCompleted;
use Scwar\Monnify\Events\TransactionFailed;
use Scwar\Monnify\Events\WebhookReceived;
protected $listen = [
TransactionCompleted::class => [
// Your listeners
],
TransactionFailed::class => [
// Your listeners
],
WebhookReceived::class => [
// Your listeners
],
];
use Scwar\Monnify\Events\TransactionCompleted;
class SendPaymentConfirmation
{
public function handle(TransactionCompleted $event)
{
$transaction = $event->transaction;
// Send confirmation email
// Update order status
// etc.
}
}
use Scwar\Monnify\Models\MonnifyTransaction;
// Get all successful transactions
$transactions = MonnifyTransaction::successful()->get();
// Get transactions for a customer
$transactions = MonnifyTransaction::forCustomer('[email protected]')->get();
// Check transaction status
$transaction = MonnifyTransaction::where('transaction_reference', 'ref-123')->first();
if ($transaction->isSuccessful()) {
// Transaction is paid
}
use Scwar\Monnify\Models\MonnifyInvoice;
// Get all paid invoices
$invoices = MonnifyInvoice::paid()->get();
// Get invoices for a customer
$invoices = MonnifyInvoice::forCustomer('[email protected]')->get();
// Check invoice status
$invoice = MonnifyInvoice::where('invoice_reference', 'inv-123')->first();
if ($invoice->isPaid()) {
// Invoice is paid
}
if ($invoice->isExpired()) {
// Invoice has expired
}