Skip to main content
Charge and invoice events. These carry the 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.
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.
Fires when a charge succeeds: a renewal or the first payment at checkout. Carries the amount and the completed billing cycle number.
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.
Fires when a previously-failed invoice is charged successfully during dunning. Carries the recovered amount.
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.
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).