R
Docs
API Documentation

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).