Events/Payments
payment.capturedBuyer-initiated

Payment 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": "6d314f73-f5c0-4e27-ae30-dffca9a1fb9e",
  "event": "payment.captured",
  "created": "2026-10-28T01:10:51.221Z",
  "data": {
    "orderId": "c4tuek589dnc0000000000000",
    "orderNumber": "TY-F4G9HGS",
    "amountKobo": 4934470,
    "reference": "PSK_VX9MOB8CD5",
    "channel": "ussd"
  }
}

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.