invoice and (via the invoice or the event) the subscription, plus its customer and plan. The shared delivery envelope, headers, and inline-expansion rules are on the webhooks overview and the event index; every sample below shows the full envelope.
invoice_created
invoice_created
Fires when a renewal invoice is generated at the start of a billing cycle, before the charge is attempted. Carries the
amount (minor units) alongside the invoice and subscription.subscription_payment_success
subscription_payment_success
Fires when a charge succeeds: a renewal or the first payment at checkout. Carries the
amount and the completed billing cycle number.subscription_payment_failed
subscription_payment_failed
Fires when a charge fails. Carries the
failureCode, the dunning action decided (for example retry_scheduled, request_card_update, or dunning_disabled), and, when another attempt is scheduled, the nextAttemptAt.subscription_payment_recovered
subscription_payment_recovered
Fires when a previously-failed invoice is charged successfully during dunning. Carries the recovered
amount.subscription_payment_refunded
subscription_payment_refunded
Fires when a paid invoice is refunded, via
POST /v1/invoices/{id}/refund, or reconciled from a Nomba reversal webhook (source: "webhook"). Carries the refunded amount, the rail, and the gateway transactionId when present. A merchant-initiated refund also echoes any reason you sent.subscription_payment_action_required
subscription_payment_action_required
Fires when dunning decides the customer must update their card before Duro can charge again. Carries the
invoice and a reason; no subscription is expanded on this event (only the invoice reference is present in the raw event).