Custom subscription platform
How to integrate ProsperStack with a custom subscription platform
ProsperStack provides support for integrating with a custom subscription platform. If your app or service is not using one of the supported subscription platforms, you can still make use of ProsperStack's suite of retention features — you'll just need to process changes to customer subscriptions yourself.
Integrating the cancellation flow
Integrating the cancellation flow with a custom subscription platform is largely the same as with a supported subscription platform, but instead of supplying a subscription platform subscription ID, you'll provide ProsperStack with some basic details about the subscription being canceled.
See the flow embed documentation for details on the required properties.
When a cancellation flow is complete, the response from the ProsperStack library
status property to let you know what the result of the session was.
You can use this property to apply changes to the subscription, by either
canceling it or applying discounts or other offer types.
See the flow embed documentation for details on the response object.
When you create an offer, you'll specify details about the offer that will be returned as part of the flow response payload. You can use these details to process the offer and apply it to your customer's subscription.
The details returned for the different offer types are:
amount_off: string— The discount amount to apply, either in percentage for
percentagetype coupons or dollars for
months: number | null— If
repeating, the number of months the coupon should be valid
platform_coupon_id: string— The coupon's ID or code from your subscription platform, if provided
platform_plan_id: string— The plan ID to switch the customer's subscription to
prorate: boolean— Whether or not to prorate charges or credits when changing plans
days: number— The number of days to extend the trial
interval_count: number— The number of
intervals to pause the subscription for
In addition to the offer details, you can also specify metadata when creating or editing an offer. This metadata will be returned in the flow response payload along with the offer details.
You can use offer metadata to pass any arbitrary data back to your application along with an accepted offer.
Complete integration example
For a complete example of handling the result from a cancellation flow with a custom billing integration, see the flow embed documentation.
For full details of the offer payload, see the API reference documentation.