payment.capturedBuyer-initiatedPayment captured
Paystack confirmed funds. Same time as order.created.
When this fires
Paystack confirmed funds. Always fires at the same moment as order.created.
High frequency
This event is buyer-initiated, which means it can fire at checkout-traffic volume during busy periods. Make sure your handler responds in under ten seconds; queue any heavy work.
Sample payload
This is the exact envelope shape we POST to your endpoint — outer wrapper plus the per-event data payload. Field values are randomised on each render so you see the general shape, not a fixed example.
json
{
"id": "3e5bfe79-6fa8-4464-b3f1-88201956ade5",
"event": "payment.captured",
"created": "2026-06-12T18:11:59.144Z",
"data": {
"orderId": "c6nqdokcp6gp0000000000000",
"orderNumber": "TY-8U2W8DD",
"amountKobo": 8039914,
"reference": "PSK_KI3X78AMAI",
"channel": "bank_transfer"
}
}Use cases
- Reconcile against your Paystack ledger at end-of-day.
- Increment a real-time revenue dashboard.
- Settle commissions or splits to creators / affiliates.
Subscribe in the dashboard
To start receiving this event, add it to a webhook's subscription list in Developers → Webhooks. Wildcard subscriptions ( payment.*) work too — see the webhooks guide for the matching rules.