---
title: "How TrialValid works"
url: "https://trialvalid.com/how-it-works.md"
canonical_url: "https://trialvalid.com/how-it-works"
last_updated: "2026-10-22"
type: "how-to"
summary: "Email us, approve Stripe, pick a price and trial length, and we publish your page. TrialValid holds the card, starts the trial and captures before it ends."
related: ["https://trialvalid.com/trial.md", "https://trialvalid.com/product.md", "https://trialvalid.com/docs.md", "https://trialvalid.com/security.md", "https://trialvalid.com/pricing.md"]
---

# How TrialValid works

> **For AI agents:** the complete index of TrialValid pages is [llms.txt](https://trialvalid.com/llms.txt). Every page is also served as markdown at its URL plus .md.

Email us, approve Stripe, pick a price and trial length, and we publish your page. TrialValid holds the card, starts the trial and captures before it ends.

## Four setup steps

1. Email hello@trialvalid.com. Send your Stripe plan, your trial length and your current sign-up numbers, and we set up your account.
2. Approve the Stripe connection. We send you a Stripe Connect link and you approve it on Stripe. TrialValid reads your active subscriptions to work out your plan, and you can revoke access whenever you like.
3. Choose a price and a trial length. Pick a Stripe price and a trial from 1 to 90 days. Write a headline, bullet points and a button label, or let a model suggest a variant that you review.
4. We publish your trial page. Traffic splits evenly between your active variants, and each buyer keeps seeing the same one.

## What happens behind the scenes

1. The buyer reads the terms. The page builds the exact authorization text: the amount, the trial end date, the charge date and how to cancel. It is stored with the time, IP address, user agent and terms version.
2. The card is held. At sign-up TrialValid creates a Stripe customer and an uncaptured PaymentIntent for the plan price, card only. If the amount, trial length or billing period on the page changed since the buyer loaded it, the sign-up is refused before Stripe is touched.
3. The trial starts. Once Stripe confirms that the card can cover the price, TrialValid creates a free-trial subscription on the same card, ending on the date the buyer was shown. No payment is attempted.
4. A reminder goes out. For trials longer than 7 days the email is sent 7 days before the end. For shorter trials it is sent at the start. Both state the amount, the charge date and how to cancel.
5. The hold is captured 2 hours before the end. The job reads the PaymentIntent from Stripe first, then captures with up to 11 attempts, 10 minutes apart. It never captures in the last 5 minutes, because Stripe charges the first invoice then.
6. The first invoice nets to zero. After Stripe confirms the capture, TrialValid credits the customer balance by the captured amount. The first invoice is paid by that credit, so the buyer is charged once.
7. Long trials renew the hold. A hold lasts about 7 days. When the capture falls later, TrialValid places a fresh hold before the old one lapses and releases the old one after the new one is in place.

## What the buyer sees

- A page with your price, your trial length and your headline.
- Plain authorization text that states what is held, that nothing is charged today, when the trial ends and when the charge happens.
- A card field from Stripe Elements. The card number goes to Stripe, not to TrialValid.
- A reminder email before the first charge.
- A cancel path: cancelling before the trial ends releases the hold, or refunds the capture if it has already happened.

## Roll it out in stages

This is guidance, not a setting. Moving new sign-ups to the card-backed page in stages lets you read the numbers at each step before you commit all your traffic. Plan on seven or more weeks in total.

| Stage | Share of new sign-ups on the card-backed page | What to read before moving on |
| --- | --- | --- |
| 1 | 20 percent | Sign-ups and conversions per variant, and any failed-capture alerts |
| 2 | 25 percent | The same numbers, and how the trial reminder lands with buyers |
| 3 | 50 percent | Revenue per variant and your support inbox |
| 4 | 100 percent | The full picture against your old sign-up flow |

## Your money stays in your Stripe account

- Every hold, capture and refund happens in your own Stripe account. TrialValid never touches the money and takes no per-transaction fee.
- TrialValid keeps no copy of your customers, charges, invoices or disputes. It reads your active subscriptions to work out your plan and stores the ids and metadata Stripe returns for each trial.
- Disconnecting Stripe ends TrialValid's access. Held trials are marked as lost and you get a summary alert.

## Questions

### Do I have to change my Stripe setup?

No. TrialValid works with the Stripe price and the Stripe account you already use. It adds the hold and the trial subscription, and your own billing settings still apply to the first invoice.

### What if a buyer never finishes entering a card?

The hold is cancelled 24 hours after it was created and the trial is marked as abandoned. No subscription is left running.

### Can I stop the rollout at a stage?

Yes. The stages are guidance. You decide how much of your traffic sees the page, and you can archive a page at any time.

## Related

- [Start a TrialValid trial](https://trialvalid.com/trial.md)
- [How card-backed free trials work](https://trialvalid.com/product.md)
- [Documentation](https://trialvalid.com/docs.md)
- [Security at TrialValid](https://trialvalid.com/security.md)
- [Plans from $29 with a 14-day trial for $1](https://trialvalid.com/pricing.md)
