Skip to main content
WEBHOOK
payment.failed
{
  "id": "evt_81239839130",
  "type": "payment.failed",
  "data": {
    "id": "pay_rOaZNqKZMFxsRb2NBL1cj",
    "status": "failed",
    "amount": 300,
    "currency": "ZAR",
    "intent": "payment",
    "country": "ZA",
    "external_reference": "order_id_2331120",
    "payment_method_details": {
      "type": "card",
      "card": {
        "type": "CREDIT",
        "scheme": "MASTERCARD",
        "bin": "527346",
        "last4": "3333"
      }
    },
    "last_payment_error": {
      "error_code": "card_declined",
      "decline_code": "insufficient_funds",
      "message": "The card was declined due to insufficient funds.",
      "timestamp": "2026-02-12T09:02:23.153Z"
    },
    "mode": "live",
    "metadata": {
      "order_id": "o_b5MuE6le7p9W5Ufsf8tQk"
    },
    "created_at": "2026-02-12T09:00:44.224Z",
    "updated_at": "2026-02-12T09:02:23.153Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.momentco.io/llms.txt

Use this file to discover all available pages before exploring further.

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