Product

Dispute readiness for free trials

Every trial keeps a record of what the buyer saw, flags a dispute on the trial and alerts you; a calculator shows what disputes cost.

Last reviewed

$
$
Starts at the US fee Stripe lists.
Your own assumption. Leave at 0 to see the cost only.
$
What you would pay each month for the tool that prevents them.
Cost per dispute
$115
Dispute cost per month
$2,300
Dispute cost per year
$27,600
How this was worked out
  1. Each lost dispute costs the $100 payment plus the $15 dispute fee, which is $115.
  2. 20 disputes a month times $115 is $2,300 a month.
  3. Over 12 months that is $2,300 times 12, which is $27,600.
  4. Enter the number of disputes you expect to avoid to see a saving. It is your own assumption: no prevention rate is claimed.

Reading the calculator

The monthly cost is the number of disputes times the payment amount plus the dispute fee, because a lost dispute costs you the payment and the fee. The dispute fee in the calculator is the one Stripe lists: $15.00 per dispute (checked 18 Oct 2026, source). Stripe lists its own fee on its pricing page, so check it there before you plan around it.

The "disputes you expect to avoid" field is your own assumption and starts at zero, so the saving shown is only as good as the number you enter.

How it works

  1. Before the card hold is placed, TrialValid builds the text the buyer sees: the amount, the trial end date, the charge date and how to cancel.
  2. It stores that exact text with the time, the IP address, the user agent and the version of your terms, as the record for that trial.
  3. When Stripe reports that a charge was disputed, TrialValid finds the trial it belongs to and sets a dispute flag on it, once.
  4. It posts a dispute-opened alert to your Slack webhook with the amount and the buyer, and you read the stored record for that trial to answer the dispute.

Why it works

A dispute about a trial usually comes down to what the buyer was told and when. A stored record of the exact words, the time and the terms version gives you that answer without searching old emails.

The dispute flag and the alert mean you hear about it the same day and can see which trial it was. Disputes have response deadlines, so speed matters; see Stripe's dispute documentation for the current windows.

Traditional approach versus this

Collecting it after the disputeWith dispute readiness
What the buyer sawRebuild it from screenshots and old page versionsThe exact text, stored when the trial starts
When it was shownEstimate from logsTime, IP address, user agent and terms version on the record
Knowing a dispute existsNotice email or the Stripe dashboardA flag on the trial and a Slack alert
Estimating the costA spreadsheetThe dispute cost calculator above

Controls

  • The record is written only from your own trials. TrialValid compares nothing with other sellers.
  • The record is stored with each trial. You decide what to submit in the Stripe dispute flow.
  • Dispute alerts go to the Slack webhook you set in alerts.
  • The dispute flag is set once per trial, so a repeated Stripe event does not raise a second alert.
What does TrialValid store for each trial?

The exact message the buyer saw before signing up, with the time, the IP address, the user agent and the version of your terms.

What happens when a buyer disputes a charge?

The trial gets a dispute flag and you get a dispute-opened alert in Slack with the amount and the buyer.

Does TrialValid submit evidence to Stripe for me?

No. You read the stored record for the trial and add what you need in Stripe's own dispute flow.

Does TrialValid stop disputes from happening?

It makes no such claim. It keeps the record you need to answer a dispute and tells you quickly when one starts.

Where does the dispute fee in the calculator come from?

It is read from a dated record of the fee Stripe lists on its US pricing page: $15.00 per dispute, checked 18 Oct 2026.

Does it use data from other sellers?

No. Each record and flag comes from your own trials only.