Payment webhook events
Events fired when money moves.
1 min read Updated 5/28/2026developer
payment.succeeded
Fired when Stripe confirms a successful charge.
JSON
{
"type": "payment.succeeded",
"data": {
"orderId": "ord_abc123",
"stripePaymentIntentId": "pi_3OabCDeFGHijKLmN",
"amount": 28.75,
"currency": "sek",
"paymentMethod": "card"
}
}This is the authoritative event for "payment received".
order.created only means an order exists; payment.succeeded means money has moved.payment.failed
Fired when Stripe declines a charge or the customer abandons checkout. The order stays in pending until either the customer retries successfully or you mark it canceled manually.
payment.refunded
Fired when a refund (full or partial) is processed. Includes the refund amount and the order's new paymentStatus (either refunded or — for partials — paid with a non-zero refundAmount).