Just launched
We're actively working on new content and improvements to our documentation. We'd love to hear your thoughts, launch quick survey
Paddle Billing
Search

Cancel a subscription

Cancel subscriptions when a customer no longer wants to use your software.

Cancel subscriptions to stop billing for them permanently. Paddle stops billing customers indefinitely.

If a customer just wants to stop using your software temporarily, pause a subscription instead.

Paddle supports subscriptions with multiple products. You can cancel products like recurring addons by removing them. See: Add or remove products on a subscription

How it works

Cancellation take effect at the end of a customer's billing period. When you request to cancel a subscription, Paddle creates a scheduled change to say the subscription should be canceled on the next billing date. On the next billing date, the subscription status changes to canceled.

You should make sure customers can access your app as normal while they have a scheduled change to cancel against their subscription. After their subscription transitions to cancelled, you should restrict their access.

Paused subscriptions can be canceled immediately, rather than at the end of a customer's billing period.

You can't reactivate a subscription that's canceled.

Reduce active churn with Retain

When customers go to cancel, Retain by Paddle analyzes dozens of data points to salvage that relationship. Smart cancellation flows capture cancellation reason, then suggests other plans, support calls, or a targeted salvage offer.

Cancel a subscription

Send a POST request to the /subscriptions/{subscription_id}/cancel endpoint.

POSThttps://api.paddle.com/subscriptions/{subscription_id}/cancel
subscription_idstring

Paddle ID of the subscription entity to work with.

Request {% id="request-cancel-subscription %}

Send an empty request body.

Response

If successful, Paddle returns the complete subscription entity. The response includes a schedule change to say that the subscription should cancel at the end of the billing period.

The end of the billing period is set as the effective_from date for the scheduled change.

Cancel a paused subscription

You can cancel paused subscriptions right away, rather than waiting for the end of the billing period.

Send a POST request to the /subscriptions/{subscription_id}/cancel endpoint.

POSThttps://api.paddle.com/subscriptions/{subscription_id}/cancel
subscription_idstring

Paddle ID of the subscription entity to work with.

Request

In your body, include effective_from and set to immediately.

This field is only valid for subscriptions where the status is paused. This doesn't include subscriptions that are active with a scheduled pause against them.

Response

If successful, Paddle returns a copy of the updated subscription entity. The subscription status is canceled.

Remove a scheduled cancellation

You can stop a cancellation from going through at the end of the billing period by removing the scheduled change.

You can't make any changes to a subscription that has a scheduled change against it. This includes adding or removing items, or changing dates.

You can't make changes to a subscription if the next billing period is within 30 minutes.

Send a PATCH request to the /subscriptions/{subscription_id} endpoint. In the request body, null the scheduled_change.

Request

Response

If successful, Paddle responds with the updated subscription entity. Scheduled change is set to null and the status is active.

Notifications

subscription.updatedOccurs when Paddle creates a scheduled change for pause.
subscription.canceledOccurs at the end of the billing period when the subscription status changes to canceled.
transaction.canceledOccurs if customers have unpaid transactions when the subscription status changes to canceled.

Related pages