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.
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:
Upon creation of the order
Upon successful payment by the shopper on the Magic Checkout
Upon a successful capture request
Upon a successful refund request
Upon a successful partially-refund amount request.
Upon you tell magic to void this order.
If an authorized payment is not captured before the elapsing of the expiry period indicated by the orderExpiryMilliseconds field in the initial /orders request.
Upon the transaction goes from authorized to refund_not_charged. This happens when you don't call capture order.
There are some issues with the request.