Webhook Events Reference

Reference documentation for Revaly webhook event formats, attributes, and supported event types.

Revaly sends webhook events whenever a subscribed activity occurs within your account. Each event represents a specific point in the lifecycle of a transaction, refund, recovery, or retry.

This reference describes the structure of webhook events and the event types currently supported by Revaly.


Event Naming

Webhook event names follow a consistent resource.action pattern, where the resource identifies the object associated with the event and the action describes what occurred.

Examples:

transaction.succeeded
refund.failed
recovery.started
retry.scheduled


Event Structure


Every webhook event is delivered using the same envelope structure. Common event metadata is included at the top level, while the event-specific payload is contained within data.object.

All currently supported webhook events include a Transaction object in data.object. The event type identifies what occurred, while the payload contains the associated transaction details.

{
  "id": "evt_01JSZK9ABC...",
  "eventType": "transaction.succeeded",
  "createdAt": "2026-04-21T14:32:10Z",
  "eventVersion": "v2026-04-21",
  "revalyAccountId": "acct_...",
  "deliveryId": "dlv_...",
  "isTest": true,
  "data": {
    "objectType": "transaction",
    "object": {
      "...": "..."
    }
  }
}

Event Attributes


FieldDescription
idStable event identifier. Use for deduplication.
eventTypeThe event that occurred.
createdAtTimestamp when the event was created.
eventVersionSchema version associated with the endpoint.
revalyAccountIdRevaly account associated with the event.
deliveryIdUnique delivery attempt identifier. Changes on retries.
isTestIndicates whether the event originated from a production or test environment.
data.objectTypeType of object included in the payload.
data.objectEvent-specific object data.
⚠️

Event Deduplication

Use id for deduplication. Do not use deliveryId, as a new delivery ID is generated each time an event is retried.


Supported Events


Revaly publishes webhook events for key moments in the transaction, refund, recovery, and retry lifecycles. When configuring a webhook endpoint, you can subscribe to the event types that are relevant to your integration.

The following sections describe each supported event and the circumstances under which it is generated.

Transaction Events

EventDescription
transaction.succeededSent when a payment, authorization, or capture completes successfully.
transaction.declinedSent when a transaction is declined by the payment processor.
transaction.processing_failedSent when processing fails due to a system or operational error rather than a processor decline.
transaction.voidedSent when a transaction is voided before settlement.

Refund Events

EventDescription
refund.succeededSent when a refund completes successfully.
refund.failedSent when a refund attempt fails.

Recovery Events

EventDescription
recovery.startedSent when a recovery process begins.
recovery.succeededSent when a recovery process successfully restores a payment.
recovery.failedSent when all recovery attempts have been exhausted.
recovery.canceledSent when a recovery process is canceled.

Retry Events

EventDescription
retry.scheduledSent when a retry attempt is scheduled.
retry.executedSent when a scheduled retry is executed.