Skip to content

FAQ

Frequently asked questions

The answers describe how the product behaves today. If your question isn't here, just ask; we would rather leave an answer out than invent one.

Trial and billing

Why do you ask for a card at sign-up, and when and how much is charged?

The card is taken so the subscription starts without a break when the trial ends, and it is stored on Stripe's side only; the card number never sits with RevFence. Nothing is charged at sign-up. The first charge lands on day 10 of the trial and is the monthly price of the plan you picked; sign-up does not make you choose a plan — it defaults to the lowest one and you can change it instantly in the dashboard while the trial runs, in which case the charge is at the new plan's price. The date and the amount are written on the screen where you give the card and stay on the Billing page in the dashboard.

How do I cancel the trial — do I have to email support?

You cancel with a single button on the Billing page in the dashboard; no email to support, no form, no waiting. The button sits in the same place from the moment the card is taken and is never hidden. A cancellation takes effect at the end of the period: on a trial nothing is ever charged, and once payment has started you keep the period you already paid for. If you change your mind, the undo button on the same page reverses it.

What happens if I cancel the trial?

Nothing is charged, so there is no payment to ask a refund for. Your cancellation page does not close: your customers keep using the cancellation flow and only offers stop being shown. The dashboard stays open and your past sessions and reports remain visible. If you want a plan later you can start one from the same page; a second free trial is not granted.

Do you warn me before the charge?

Yes. A few days before the trial ends, one reminder goes to your account and your email address stating the date, the plan, the amount, and that cancelling is one click away. It is sent even if your trial session allowance has already run out, because the charge is still coming. If you have already cancelled, the reminder says so and states that nothing will be charged.

What happens to my account if I leave without giving a card?

The account exists but the trial has not started. The same button waits for you on the Billing page in the dashboard, so you can pick up whenever you like and are never stuck. Until then no offers are shown, because the trial has not begun. Returning to a checkout you abandoned does not open a second subscription.

Setup and Stripe

How do I connect my Stripe account?

You open the project in the dashboard and start the Stripe Connect authorization flow. You approve it with your own Stripe account; RevFence acts on behalf of that account and never sees or stores your secret key. The connection goes live once the account is confirmed to have charges enabled. You can revoke access from the Stripe dashboard at any time.

What do I have to write on my side?

One request and one redirect. Your server opens a cancellation session and sends the user to the single-use URL it returns. The link is time-limited; once it expires the page says so. The addresses the customer can be returned to are defined in advance, so no open redirect is possible.

Do test sessions count against my quota?

No. Sessions opened in test mode are deducted neither from the monthly quota nor from your free-trial allowance, and do not enter analytics. You can connect with a Stripe test key and run the whole flow end to end against a fake subscription. Test sessions cannot be opened in live mode.

Subscription compatibility

Which subscriptions are not supported?

Subscriptions with more than one item are not supported: which item the discount applies to is ambiguous and the amount would be computed wrongly. On metered subscriptions the result of a percentage discount cannot be predicted in advance. On subscriptions bound to a Stripe subscription schedule our change can be undone by the next phase. Only the active, trialing and past_due statuses are supported, and only weekly, monthly and annual intervals with a count of one. If any of these blockers applies, no offer is shown at all and the customer goes straight to your own cancellation flow.

Does every offer work on every billing interval?

No. Percentage discounts apply to monthly subscriptions only; free billing cycles to monthly and weekly; pauses to monthly only. On an annual subscription the months you promise map onto an annual invoice in Stripe and the duration the customer was told does not hold. Rather than make a promise that does not hold, we do not show that offer at all.

What if the subscription already has a discount or a pause?

Discount-type offers are never stacked on an existing discount, and they never replace or remove it; on such a subscription they are not shown. A pause stays conceptually eligible, but a second pause is never promised while one is already in effect.

The moment of acceptance

What exactly changes in Stripe when my customer accepts?

For a percentage discount or free billing cycles, a Stripe coupon tied to that version of the offer is created and attached to the subscription; a free cycle is a 100 percent coupon whose duration matches the number of billing cycles defined on the offer. For a pause, collection is paused on the subscription with a resume date, and collection resumes on its own when the pause ends. In both cases, if a cancellation was scheduled for the end of the period, it is cleared in the same Stripe call: there is no in-between state where the discount lands and the cancellation stays scheduled. Metadata recording which offer was applied is written onto the subscription too.

What does the customer see before accepting?

The discount percentage or pause length, how many billing cycles it covers, and the next charge amount and date. Those numbers come from a Stripe invoice preview, not from our own arithmetic. The exact text the customer saw when they accepted, its version and a timestamp are stored; editing the copy later does not alter past records.

What happens if the outcome of a change is indeterminate?

This is the core rule of the product: an indeterminate outcome is never retried. If Stripe times out or returns a server error, the request may have reached Stripe and been processed; retrying could apply a second discount to the customer. The record is not marked failed either, it is held, and hourly reconciliation reads the truth from Stripe and closes it accordingly. The customer is not told that nothing changed; they are told it is being verified and asked not to try again.

How do I know an offer was really applied?

An offer counts as applied only when Stripe confirms the change; acceptance alone is not a save. The dashboard shows the session record, the application status and the verified amounts that came back from Stripe. When an offer cannot be applied, the customer sees a single sentence and can carry on cancelling.

Control

Can I stop showing offers entirely in an emergency?

Yes. Pausing the project keeps the cancellation page open but shows no offers at all, and the customer goes straight to your own cancellation flow; in maintenance mode the page shows a short maintenance message instead. Turning automatic offers off also stops them being shown without deleting the rules you configured. Above all of that sits a platform-level emergency stop: while it is on, no offer is applied for any account. And if the rollout settings cannot be read, applying stops on its own.

Will the same customer be shown offers again and again?

No. A cancellation session shows exactly one offer, and no second offer follows a declined one. After an offer has been applied, no new offer is shown until the cooldown expires; the default is 180 days. The cooldown belongs to the subscription: opening a new link, clearing cookies or starting a new session does not reset it.

Language and data

What languages is the cancellation page available in?

Turkish and English. You pick the language in the project settings, and you can write the heading, intro copy, reason heading and reason list in your own words. The marketing site and the dashboard are in the same two languages.

Where is my data held, and for how long?

Card data never sits with RevFence; it stays on Stripe's side. The application and database hosting, the content delivery network and the email providers are listed by name on the Sub-processors page. Retention: the free-text feedback a customer writes is deleted after 180 days, the IP hash and user agent after 30 days, and expired session and verification tokens are cleared every night. Consent records, session events and the audit log are immutable.

Turn the cancel button into a second chance

Connect Stripe, define one offer, redirect the button. Every cancellation you miss today is a question you'll never get to ask.