Last updated: October 14, 2026
How Unquit uses your Stripe data
Unquit works only with Stripe. This page lists what it reads, what it changes, and the one rule behind every change: it only acts on your behalf, for the features you set up.
This is an early-stage draft written in plain English. It has not been reviewed by a lawyer and is not legal advice. If anything here is unclear, email sauravsahbrj@gmail.com.
What Unquit reads
| Stripe data | Why |
|---|---|
| Subscriptions | Status, plan, price and discounts, to pick a fitting offer, work out saved MRR and check whether a save is still paying. |
| Invoices and invoice payments | To see when a renewal fails or is paid, which invoice proved a save, and how much was paid or refunded. |
| Customers (via invoices and subscriptions) | The customer id, and the email address and name on a failed invoice, so the failed-payment email reaches the right person. |
| Payment status | Stripe’s decline code on a failed payment (for example insufficient funds or an expired card) and whether a new card was saved. Never card numbers. |
| Prices and products | To show plan names and offer a cheaper plan in the cancel flow. |
| Charges, credit notes and disputes (via webhooks) | To reverse or hold Unquit’s fee when you refund a saved customer or they file a chargeback. |
What Unquit changes, and only when
Every change below is triggered by your customer’s own action in the cancel flow or on the card-update page, using the offers and settings you configured. Each change carries an idempotency key, so a double click never applies anything twice.
| Stripe data | Why |
|---|---|
| Coupons and discounts | Creates a reusable coupon such as “30% off for 3 months” and attaches it to the subscription when your customer accepts a discount offer. |
| Pauses | Pauses collection on a subscription until the date your customer chose, when they accept a pause offer. |
| Plan changes | Moves the subscription to the cheaper price you set up, from the next renewal, when they accept a downgrade. |
| Cancellations | Cancels the subscription (at period end, or immediately if you chose that) when your customer says “No thanks, cancel”, with their reason. |
| Invoice retries and card updates | When your customer uses the card-update page: saves their new card as the default and pays the open invoice, or retries their current card. |
| Webhook endpoint (restricted-key connections only) | Creates one webhook endpoint pointing at Unquit so we hear about renewals, failures and refunds, and deletes it when you disconnect. |
Unquit never refunds payments, moves money out of your account, changes payouts or bank details, or deletes customers.
Emails to your customers
Only if you switch on “Email customers when a payment fails”. When a renewal fails, Unquit sends up to 3 emails (by default on day 0, 3 and 7) from your company name, with your reply-to address, linking to a secure card-update page. The sequence stops the moment the invoice is paid, voided or the subscription is cancelled. Unquit never sends marketing emails to your customers.
How Unquit connects
- Stripe Connect (OAuth): you approve Unquit in Stripe. Unquit uses its own platform key and your account id; no key of yours is stored.
- Restricted key: you create a key in your Stripe dashboard with only the permissions listed in the dashboard and paste it in. Unquit encrypts it (AES-256-GCM), never shows it again (only its last 4 characters) and deletes it when you disconnect. You can also revoke it in Stripe at any time.
Restricted-key permissions
If you connect with a restricted key, these are the only permissions it needs. Everything else can stay on None.
| Stripe data | Why |
|---|---|
| Core → Customers: Write | Make the card your customer adds on the card-update page their default (customers.update). |
| Core → SetupIntents: Write | Collect a new card securely on the card-update page (setupIntents.create / retrieve). |
| Core → PaymentIntents: Read | Read why a renewal failed (the decline code) and finish 3-D Secure checks. |
| Core → Charges and Refunds: Read | Match a refund to its invoice so Unquit’s fee on it is clawed back. |
| Core → Products: Read | Show plan names in the cancel-flow editor and downgrade offers. |
| Billing → Subscriptions: Write | Read subscriptions; apply a discount, pause or downgrade the customer accepted; cancel when they choose to. |
| Billing → Invoices: Write | Read invoices and invoice payments (to prove saves); pay a failed invoice from the card-update page (invoices.pay). |
| Billing → Coupons: Write | Create the reusable coupon behind a discount offer, e.g. “30% off for 3 months”. |
| Billing → Prices: Read | List your prices for downgrade offers. |
| Webhook → Webhook Endpoints: Write | Create (and on disconnect, delete) the one webhook endpoint that tells Unquit about renewals, failures and refunds. |
Optional: Connect → Accounts: Read, so Unquit can read your account id directly.
Fees in one paragraph
No base fee. 20% of the monthly revenue kept by a cancel save, for its first 3 paid months. 10% of a failed payment Unquit recovered, once (5% if that invoice is also one of a cancel save's 3 paid months). Never more than $299 in a month. Refunds claw the fee back pro-rata, chargebacks hold it, and every save has a receipt you can dispute. One statement a month, charged automatically to your billing card through Dodo Payments. Full details are in the Terms.
Retention
See Privacy Policy for how long data is kept and how to delete it. Questions about a specific change Unquit made in your Stripe account: sauravsahbrj@gmail.com.