Skip to content

Add a free trial to a plan

Say "give every new customer on this plan 14 days free" and each sign-up starts a trial, with a reminder before the first charge.

For developers

A trial on an Offer starts every new Customer free for a set number of days. With a card up front, it turns into a paid Subscription on its own.

For developers

Needs Charge monthly · Open a bank account

What you get

  • 1trial of 14 days on the Pro Offer for every new customerOffer
  • 1card taken at sign-up and charged on day 15Subscription
  • 1reminder three days before the first chargeMessage
  • 1one trial per customer; a second sign-up from the same account starts paidCustomer

Your agent does

Offer.update
You, to your agent

Give every new Pro customer 14 days free.

Add a free trial to Pro.

Let people try it before they pay.

# Offer.update
curl -X PATCH https://api.sb/leaseline.app/offers/offer_pro_monthly \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"price":{"amount":29,"currency":"USD"},"trial":{"days":14,"card":true}}'
import { $ } from 'startup-builder'

await $.Offer.update({ id: 'offer_pro_monthly', price: { amount: 29, currency: 'USD' }, trial: { days: 14, card: true } })
npx startup-builder do Offer.update --json '{"id":"offer_pro_monthly","price":{"amount":29,"currency":"USD"},"trial":{"days":14,"card":true}}'
{
  "name": "do",
  "arguments": {
    "code": "return await $.Offer.update({ id: 'offer_pro_monthly', price: { amount: 29, currency: 'USD' }, trial: { days: 14, card: true } })"
  }
}

Change it

  • Drop the card requirement.
  • Make it 30 days for annual plans.
  • How many trials turned into paying customers last month?

Under the hood

Systems
Billing
Nouns
Offer, Subscription, Customer
Events
Offer.updated, Offer.trialed
Stripe objects
Subscription