Invite-only betaFirst 100 SaaS founders: 3 months freeNo credit card · Zero dark patterns
BoolBul
BOOLBUL.The Retention Interceptor

Comparison

In-app cancellation vs the Stripe customer portal

Stripe's customer portal is a solid, free, Stripe-hosted page where customers manage billing — including cancelling. BoolBul is a drop-in cancellation flow that runs inside your own app, asks why the customer is leaving, and offers the fix that matches their reason before they go. Here's how they differ, and when each one is the right call.

 BoolBulStripe customer portal
Where it happensInside your app (modal on desktop, bottom sheet on phones), your branding and copyA Stripe-hosted page the customer is redirected to, with Stripe's portal branding settings
Billing providersDodo Payments and Stripe (Paddle, Lemon Squeezy, Polar, Chargebee coming soon)Stripe only
Exit surveyOne-tap reasons asked first, mapped 1:1 to Stripe cancellation feedback; offers adapt to the answerOptional reason list collected as part of cancelling, stored on the subscription
Retention offersDiscount or pause, ranked by reason (e.g. “not using it” sees pause first)One retention coupon configured in portal settings; pause can be enabled separately
Way outOne-click cancel link on every screen, high-contrast, never hiddenCancel flow inside the portal
Mobile appsHosted WebView page with a message bridge for React Native, Flutter, iOS and AndroidOpens the hosted portal URL in a browser or WebView
AnalyticsSaved MRR, save rate, top exit reasons and a CSV ledger in your BoolBul dashboardReasons on each subscription, Sigma queries and webhooks
If it's downFails open in 1.5 s: your normal cancellation runsCustomers wait for or retry the hosted page
PricePro free for 3 months for the first 100 SaaS, then $19 or $49 / monthIncluded with Stripe Billing

Why keep the cancel flow in your app?

A redirect is a context switch: the customer leaves your product, lands on a generic billing page, and the only thing between them and “Cancel” is a single coupon. Inside your app you can show your own words, match the offer to the reason (a pause for someone who's not using it this month, a discount for someone who finds it too expensive) and record every answer next to the MRR it represents.

When the Stripe portal is enough

  • You only bill with Stripe and are happy with one generic retention coupon.
  • You need customers to update cards, download invoices and change plans in one hosted place — BoolBul doesn't replace that.
  • You have very few cancellations and no time to add two server routes.

Many teams use both: the portal for invoices and payment methods, BoolBul on the “Cancel subscription” button.

How BoolBul applies offers on Stripe

Your server verifies a signed, single-use offer token and then calls Stripe with your own key: pause_collection with an automatic resumes_at for pauses, a single-use coupon added to the subscription's discounts for discounts, and cancel_at_period_end with cancellation_details.feedback for cancellations. See the server adapters guide.

Stripe features described from Stripe's public documentation, reviewed November 2026.

Try it on your own cancel button

First 100 SaaS founders get BoolBul Pro free for 3 months — no credit card.