Quickstart
From signup to intercepting cancels in under an hour.
Pick your plan
Choose a tier above and check out securely with Stripe.
Claim your account, connect Stripe
Checkout drops you on the claim page, which reveals your API key — shown exactly once, so save it. Then register your Stripe restricted key via POST /v1/stripe-key (see the repo README). Offers apply against your Stripe account only. Until you register a key, your flows run in dry-run mode — safe to test.
Embed the widget
Your backend mints a short-lived token for the cancelling customer (POST /v1/widget-tokens with your API key — the key itself never reaches the browser). Add the snippet to your billing page, pass the token, and call Staystack.openCancelFlow() from your cancel button:
<script src="https://YOURHOST/widget/staystack.js"></script>
<script>
Staystack.init({ endpoint: "https://YOURHOST",
sessionToken: tokenFromYourBackend,
onCancel: function(){ /* your real cancellation */ } });
</script>Map offers to reasons
Each cancellation reason gets a save offer: pause for “temporary”, discount for “too expensive”, downgrade for “wrong plan”. Defaults are sensible out of the box.
Watch the A/B results
On Growth and up, two variants run per reason and the stats endpoint shows save rates per variant. Keep what saves, kill what doesn't.
don+staystack@lifeofmorr.com and a human (currently the founder) will help you get set up.