Triggered when a refund is completed

Use this webhook reference to understand the event sent when a refund reaches its completed state so your application can finalize internal records, notify users, and reconcile the refund outcome safely.

When this webhook is useful

Use this event when your integration needs to:

  • detect that a refund has completed successfully
  • update internal refund records to a final completed state
  • notify customers, operators, or downstream systems that the refund is finished
  • reconcile the refund outcome against the original payment or wallet movement

Before you rely on this event

Complete these steps first:

  1. Configure a public webhook endpoint that can receive and acknowledge Verto events.
  2. Store the refund identifiers and internal references tied to the original payment or transaction.
  3. Decide which internal systems should be updated when a refund becomes final.
  4. Make sure your webhook handler can process duplicate deliveries safely.

What this event means

When this webhook is sent, the refund has reached its completed state in the Verto lifecycle.

Typical implications include:

Event meaningWhy it matters
Refund completedYour application can treat the refund as finalized according to the relevant business workflow.
Final-state transition occurredFinance, operations, and customer-facing systems can stop treating the refund as in progress.
Reconciliation can be finalizedInternal references can be matched to the completed refund outcome.

Event type contract in v1.1

The current documented eventType value for this webhook in v1.1 is:

  • refund.completed

Use this value when routing webhook events in your application.

If you have older logic looking for a different refund event name, update it to match the v1.1 payload contract before going live.

Event type contract in v1.1

The current documented eventType value for this webhook in v1.1 is:

  • refund.completed

Use this value when routing webhook events in your application.

If you have older logic looking for a different refund event name, update it to match the v1.1 payload contract before going live.

How to handle this webhook safely

  • Acknowledge the webhook quickly with a successful response before running longer internal logic.
  • Deduplicate deliveries using your event ID or internal correlation logic.
  • Match the payload back to the original payment, refund record, wallet movement, and your own internal references.
  • Update your internal refund record only once for the final completed state.

Common implementation notes

  • Use this event as the primary asynchronous signal that a refund has finished.
  • Do not rely on the refund initiation response alone for final-state confirmation.
  • Keep the original payment identifier, refund identifier, wallet or payout context, and internal reference linked in your system.
  • If customer notifications depend on final refund completion, trigger them from this event rather than from the initial refund request.

Related workflow

This event is typically part of the following sequence:

  1. A refund is initiated from the relevant payment or wallet workflow.
  2. The refund moves through internal processing states.
  3. Receive the refund completion event.
  4. Finalize internal reconciliation, customer notifications, and downstream updates.

Next steps

  • Continue to Webhooks for the broader webhook lifecycle and delivery model.
  • Continue to Webhook Event Handling for implementation examples and event-routing guidance.
  • Continue to Payments for broader payment lifecycle context where refunds are part of downstream operations.
Payload
string
required

Unique identifier for this specific event

string
enum
required

Type of webhook event

Allowed:
date-time
required

Timestamp when the webhook event was triggered (ISO 8601 format).

event
object
required

Event Object

Response
200

Refund webhook received

LoadingLoading…