Cancel & Pause Subscriptions

You can cancel or temporarily pause a customer’s subscription manually in your Paddle dashboard or by using our APIs to enable your customers to cancel or pause in one click.

  • When a subscription has been successfully canceled, this will trigger a Subscription Cancelled alert.
  • When a subscription is requested to be paused, a Subscription Updated alert will be triggered to indicate that the subscription is scheduled to be paused. The status within the alert will be active until the paused_from date has elapsed; When this happens, another Subscription Updated alert will be triggered to indicate that the subscription status is now paused.

Cancel / Pause via Dashboard

It’s often useful to be able to manually cancel or pause a customer’s subscription. To cancel or pause a customer’s subscription, go to your Paddle Dashboard > Customers > Subscribers. Here you can search for the specific subsciption by the email, plan ID or subscription ID. Once you have found the subscription, click “View” then select “Pause Subscription” or “Cancel Subscription” under the Subscription section.

Subscription options section
Subscription options section

If Pause Subscription is selected, the Payment Status section will display the date when the subscription was requested to be paused under “Date Subscription Paused”, and the date on which the “Subscription Status” will be marked as “Paused” under “Date Payment Paused”.

This behaviour takes into account the remaining subscription interval that the user has already paid for.

Subscription payment status section
Subscription payment status section

Cancel / Pause via API

Allowing customers to cancel or pause their subscription is an important part of subscription lifecycle management. With Paddle you can allow your self-serve customers to cancel or pause in one click using our APIs.

In order to allow your customers to make subscription changes, we recommend that you first create a customer/account management area on your website or app. Here you can display the current plan the customer is subscribed to and options for canceling or pausing.

You can pause a subscription by using our Update User API. In the pause parameter, you will need to set this as true to pause a subscription, or false to restart the subscription. Remember to pass this along with the subscription ID and authentication parameters.

To cancel a subscription, pass in the subscription ID and authentication parameters to our Cancel User API.

See our API documentation for more details on the Cancel User API and Update User API.

Cancel Subscription URL

In addition the Dashboard and API, Paddle provides a simple subscription cancel dialog that you can redirect customers to cancel their subscription.

When a subscription is created or updated, Paddle provides a cancel_url within the Subscription Created or Subscription Updated alert. The cancel URLs are unique to each customer.

The URLs change when the customer subscription is modified/updated, so make sure you subscribe to the Subscription Updated alert as they contain the updated URLs.

If you are not storing the URLs at the time you receive the subscription created/updated alert, you can also retrieve this by calling the List Users API.

Opening Cancel Pages via Paddle.js

The subscription cancel dialog can be opened with Paddle.js as either an overlay or inline format on your site in the same format as the checkout.

Overlay

Both Paddle.js HTML button and Javascript method support the overlay format. Each take an override parameter that accepts the full cancel_url sent by Paddle.

<a href="#!" class="paddle_button" data-override="https://checkout.paddle.com/subscription/cancel...">Cancel Subscription</a>

You can additionally redirect the customer to a specified URL, or perform other Javascript action once they have successfully canceled their subscription by passing in the ‘success’ or ‘success callback’ parameter respectively.

<a href="#!" class="paddle_button" data-override="https://checkout.paddle.com/subscription/cancel..." data-success="https://example.com/subscription/cancel/success">Cancel Subscription</a>

Inline

Paddle.js Javascript method support the inline format. It takes an override parameter that accepts the full cancel_url sent by Paddle.

Please note that Branded Inline Checkout is not supported. The inline format will utilize the Brand Color specified in your the Checkout Settings page.

Paddle.Checkout.open({
    override: 'https://checkout.paddle.com/subscription/cancel...',
    method: 'inline',
    frameTarget: 'checkout-container', // The className of your checkout <div>
    frameInitialHeight: 416,
    frameStyle: 'width:100%; min-width:312px; background-color: transparent; border: none;'    // Please ensure the minimum width is kept at or above 312px.
});

You can additionally redirect the customer to a specified URL, or perform other Javascript action once they have successfully canceled their subscription by passing in the ‘success’ or ‘success callback’ parameter respectively.

Paddle.Checkout.open({
    override: 'https://checkout.paddle.com/subscription/cancel...',
    method: 'inline',
    frameTarget: 'checkout-container', // The className of your checkout <div>
    frameInitialHeight: 416,
    frameStyle: 'width:100%; min-width:312px; background-color: transparent; border: none;',    // Please ensure the minimum width is kept at or above 312px.
    success: 'https://example.com/subscription/cancel/success'
});