> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Subscription canceled scenario

Simulates all events that occur when a subscription is canceled by a customer.

---


This page describes a webhook scenario with configurable inputs. Each event below lists the conditions under which it fires; combine the per-step and per-event conditions to determine what fires for any given configuration.

## Configuration

- **Subscription cancels effective from** (`effective_from`) — `immediately` *(default)* or `next_billing_period` (End of the billing period). Whether the simulated subscription should be canceled immediately or at the end of the billing period.
- **Subscription has past due transactions** (`has_past_due_transaction`) — `false` *(default)* or `true`. Whether the simulated subscription has past due transactions which need to be canceled.

## Events

### Subscription is scheduled to cancel

*Only when Subscription cancels effective from is "End of the billing period".*

- [`subscription.updated`](/webhooks/subscriptions/subscription-updated) — Paddle updates the `scheduled_change` object against the subscription to say the subscription is set to cancel.

### Subscription cancels

- [`subscription.updated`](/webhooks/subscriptions/subscription-updated) — *When Subscription cancels effective from is "Immediately":* Paddle updates billing dates for the subscription and any items. Its status changes to `canceled`.
- [`subscription.updated`](/webhooks/subscriptions/subscription-updated) — *When Subscription cancels effective from is "End of the billing period":* When `scheduled_change.effective_from` elapses, Paddle updates billing dates for the subscription and any items. Its status changes to `canceled`.
- [`subscription.canceled`](/webhooks/subscriptions/subscription-canceled) — Occurs because the subscription status changes to `canceled`.

### Past due transactions are canceled

*Only when Subscription has past due transactions is enabled.*

- [`transaction.updated`](/webhooks/transactions/transaction-updated) — When a subscription has transactions with the `origin` of `subscription_recurring` and the status of `past_due`, Paddle automatically cancels them as the related subscription has been canceled. The `status` of the transaction is changed to `canceled`.
- [`transaction.canceled`](/webhooks/transactions/transaction-canceled) — Occurs because the past due transaction status changes to `canceled`.
