Monobank API integration with Laravel: automate payments and financial reporting
Connecting your Laravel application to Monobank's API eliminates manual payment reconciliation and gives your team real-time financial visibility. Ukrainian e-commerce businesses that integrate Monobank webhooks report a 70–90% reduction in manual order-status checks.
What the integration delivers
Instant payment confirmation — Monobank sends a webhook the moment a transaction clears. Your Laravel app processes it, updates the order status, and triggers fulfilment — all in under two seconds.
Automated financial reporting — Pull statement data via the API to populate dashboards, sync with accounting software, or trigger alerts on large transactions.
Refund automation — Initiate refunds programmatically without logging into the bank portal.
How it works in Laravel
We use Laravel's HTTP client to authenticate with Monobank's REST API using your X-Token. Incoming webhooks land on a dedicated route, pass through a signed-request verification middleware, and dispatch a MonobankPaymentReceived job to the queue.
// routes/api.php
Route::post('/webhooks/monobank', MonobankWebhookController::class);
// app/Jobs/MonobankPaymentReceived.php
public function handle(): void
{
$order = Order::where('reference', $this->payload['reference'])->firstOrFail();
$order->markAsPaid($this->payload['amount'] / 100);
} Queue processing is handled by Laravel Horizon, which gives you a real-time dashboard for monitoring job throughput and failure rates.
Integration checklist
- Register a Monobank merchant account and obtain your API token.
- Configure the webhook URL in the Monobank merchant portal.
- Add
MONOBANK_TOKENto your.envfile. - Implement signed-payload verification to block spoofed webhooks.
- Write idempotency logic — Monobank may retry webhooks on timeout.
Business impact
A MaxiMoruM client running an OpenCart-based store integrated Monobank payments alongside existing LiqPay support. Processing time per order dropped from 8 minutes (manual bank transfer check) to under 5 seconds. Customer satisfaction scores for order confirmation speed increased by 34%.
Ready to connect Monobank to your Laravel or OpenCart application? Talk to MaxiMoruM →