Paddle Billing
Search

Paddle.Retain.initCancellationFlow()

Starts a Paddle Retain cancellation flow for a subscription.

Use Paddle.Retain.initCancellationFlow() to start a Paddle Retain cancellation flow for a subscription.

Cancellation Flows help you save customers from canceling by presenting them with dynamic salvage attempts while gathering cancellation insights. Retain automatically schedules a cancellation for the subscription in Paddle Billing if a customer proceeds to cancel.

Typically used as part of a cancel subscription workflow.

Only available for live accounts. Paddle Retain works with live data only, meaning this method is only available for live accounts. Paddle Retain is not loaded at all for sandbox accounts.

This method is for Paddle Billing only. If you use Cancellation Flows with another billing platform, use the profitwell method in the Profitwell.js snippet instead. See: Configure Cancellation Flows and salvage offers

To specify a subscription to cancel, pass a subscriptionId parameter. This is recommended, but not required where customers only have one subscription and you passed pwCustomer to Paddle.Initialize() or Paddle.Update().

Parameters

subscriptionIdstring

Paddle ID of the subscription to cancel. Required where a customer has multiple subscriptions and where pwCustomer has not been passed to Paddle.Initialize() or Paddle.Update(). Paddle Billing only.

Returns

statusstring

Status of the cancellation flow.

salvageAttemptResultobject or null

Information about the salvage attempts that the customer was shown. null if salvage attempts not presented, like if they chose not to cancel or closed the modal.

decisionstring

Whether the customer decided to accept or reject salvage attempts.

resolutionstring

Whether the customer chose to cancel. Customers may accept a salvage attempt but still choose to cancel. For example, customers may choose to accept a contact support salvage attempt, but still proceed to cancel their subscription.

hasErrorsboolean

Whether the salvage attempt encountered an error. For example, there was a problem pausing a subscription.

salvageOfferResultobject or null

Information about the salvage offer that the customer was shown. null if salvage offers not presented, like if they chose not to cancel or closed the modal.

decisionstring

Whether the customer decided to accept or reject a salvage offer.

hasErrorsboolean

Whether the salvage offer encountered an error. For example, there was a problem applying a discount.

additionalFeedbackstring or null

Additional feedback left by the customer. null if no feedback or not presented to the customer.

cancelReasonstring or null

Reason for cancellation left by the customer. This is the first question on the survey presented to the customer. null if customer chose not to cancel or closed the modal.

satisfactionInsightstring or null

Satisfaction insight selected by the customer. This is the second question on the survey presented to the customer. null if customer chose not to cancel or closed the modal.

salvageAttemptIntendedstring or null

Salvage attempt presented to the customer based on their satisfaction insight. null if customer chose not to cancel or closed the modal.

salvageAttemptUsedstring or null

Salvage attempt accepted by the customer. null if customer chose not to cancel, closed the modal, or does not accept a salvage attempt.

Examples

Related pages