Webhooks inform your backend in real-time of status changes of each payment, allowing you to keep your order handling to be in sync with the status of the corresponding payment even if there are disruptions in the session on the client-side.

🚧

Webhooks

In the backend, Magic will always send you webhooks to inform your backend on the status of the order, ensuring no orders are lost/dropped.

The webhooks are categorised by their status and are triggered in the following situations:

Status

Description

created

Upon creation of the order

authorized

Upon successful payment by the shopper on the Magic Checkout

charged

Upon a successful capture request

refunded

Upon a successful refund request

partially_refunded

Upon a successful partially-refund amount request.

void

Upon you tell magic to void this order.

expired

If an authorized payment is not captured before the elapsing of the expiry period indicated by the orderExpiryMilliseconds field in the initial /orders request.

refunded_not_charged

Upon the transaction goes from authorized to refund_not_charged. This happens when you don't call capture order.

not_created

There are some issues with the request.