Trial signups that pre-authorize the card.
Hosted, branded trial signup pages for SaaS. Place a hold on the card at signup, capture automatically when the trial converts, all through Stripe on your own account.
- Stripe-native, no platform fees
- Branded pages on your domain
- Automatic capture at trial end
From Stripe key to first paid trial in under 10 minutes.
- Step 1
Connect Stripe
One-click OAuth with your existing Stripe account. Trial.io places holds and captures on your account, so payouts and refunds stay where they always have.
- Step 2
Build your page
Drag-and-drop editor for pricing, branding, custom fields. Use your own domain, your own copy, your own product imagery.
- Step 3
Launch and capture
Embed the form or share the hosted URL. We place the pre-auth, manage the 7-day Stripe reauthorize window, and capture when the trial converts.
Everything you need to run a card-required trial.
The plumbing for trial signup, pre-authorization, and automatic capture, without writing a single line of Stripe code.
Card pre-authorization
Stripe PaymentIntent with manual capture, on your connected account. Filter tire-kickers on day one.
Branded hosted pages
Match your brand, your copy, your product. Serve pages from your own domain with a CNAME.
Smart reauthorization
Stripe holds expire after 7 days. For longer trials, we save the payment method and reauthorize automatically, 2 hours before trial end.
Drop-in or hosted
Embed the form on your marketing site with a single script tag, or send users to a fully hosted URL. Both are SSR-fast.
Built-in analytics
Trial conversion, drop-off, payment failures and retry outcomes in one dashboard. Export anywhere.
Webhooks and integrations
Stripe-native webhooks, plus Slack and Segment out of the box. Wire trial events into your stack with zero glue code.
Stripe holds expire after 7 days. Your trials don’t.
Most card-pre-auth tools fall apart the moment your trial is longer than a week. Trial.io quietly handles the reauthorization in the background, so a 14, 30, or 60-day trial converts as cleanly as a same-day charge.
No customer prompts, no zero-dollar charges, no “please re-enter your card.” Just a captured payment when the trial ends, every time.
- Day 0 · Card collected
User signs up, we create a Stripe PaymentIntent with manual capture on your connected account. A small hold (default $1) lands on their card.
- Day 6 · Auto-reauthorize
Before the Stripe 7-day hold expiry, we save the payment method, release the original hold, and queue an off-session capture for the actual trial end.
- Trial end · Capture
Two hours before trial end, we run the off-session charge. Successes notify you in Slack. Failures retry with a customer-facing recovery flow.
The plumbing your team would otherwise spend a quarter building.
Card pre-authorization sounds simple until you handle the Stripe 7-day hold expiry, the SCA edge cases, and the dunning flow. We’ve done that work.
Card pre-auth without rolling your own.
PCI scope SAQ A
Cards are tokenized by Stripe Elements client-side. Trial.io never sees, stores, or transmits the card PAN.
OAuth, not your secret key
Connect through Stripe’s OAuth flow. We hold a scoped access token, encrypted at rest. Revoke any time from Stripe.
Built on Stripe primitives
Standard PaymentIntents with manual capture. No proprietary wrappers, no funds flow through Trial.io.
The reauthorization is the product
Stripe holds expire on day 7. The off-session re-auth logic is the part you’d otherwise build yourself.
Stop trialing the wrong customers.
Free for the first 100 trial signups. No credit card required to start.