Skip to main content
WEBHOOK
payment.succeeded
{
  "id": "evt_81239839123",
  "type": "payment.succeeded",
  "data": {
    "id": "pay_1723812793",
    "status": "succeeded",
    "amount": 300,
    "currency": "ZAR",
    "country": "ZA",
    "external_reference": "order_id_2331120",
    "payment_method_details": {
      "type": "card",
      "card": {
        "type": "CREDIT",
        "scheme": "MASTERCARD",
        "bin": "527346",
        "last4": "3333"
      }
    },
    "mode": "live",
    "metadata": {
      "order_id": "o_b5MuE6le7p9W5Ufsf8tQk"
    },
    "created_at": "2026-02-12T09:00:44.224Z",
    "updated_at": "2026-02-12T09:02:23.153Z"
  }
}

Body

application/json

Event payload for payment lifecycle webhooks.

id
string
required

Unique identifier for the event.

type
enum<string>
required

Type of event being emitted.

Available options:
payment.succeeded,
payment.attempt_failed,
payment.failed,
payment.captured,
payment.voided
data
Payment Object · object
required

Payment data associated with the event.

Response

200

Return a 200 status to indicate that the data was received successfully