Subscriptions

Recurring payments that look after themselves.

Create a plan and subscribe a customer. Tuppence charges their saved card on schedule and handles trials, upgrades and failed cards.

Free trials Retries and a recovery page An invoice for every charge

Lumen Labs pays Brightwell Studio $12.00 a month for its Pro plan. The September renewal goes through. On 1 October the card is declined and the subscription shows Payment failed: Tuppence will try again, and emails the customer a secure page to pay with another card. They pay $12.00 there, the subscription is active again and recovered, and the paid invoice, INV-000042, is ready as a PDF.

A subscription renewal: a declined card, the customer’s recovery page and the paid invoice.
What’s included

The whole life of a subscription.

Plans on any calendar

Daily, weekly, monthly or yearly, or every N of them, such as quarterly or every two weeks. A plan’s price never changes under your customers: a new price is a new plan.

Free trials

Give a plan trial days and the first charge waits until the trial ends.

Upgrades priced to the cent

Preview what a plan change costs, then make it at exactly that price. Downgrades wait for the paid period to end, or turn the difference into credit.

Failed-card recovery

A declined renewal is retried after 1, 3, 7 and 14 days. Your customer gets an email linking to a secure page to pay with another card.

Subscription links

Point a payment link at a plan: the page shows the recurring terms, and paying starts the subscription.

Cancel now or at period end

Stop straight away, or let your customer keep what they paid for. You choose each time. A cancellation set for the period’s end can be undone.

Pause and resume

Pause a subscription, with or without a resume date. The paid period runs to its end, and nothing more is charged until it resumes.

Trial-ending notices

Three days before a trial ends, your customer gets an email and your webhook gets subscription.trial_will_end. The first paid month starts the day the trial ends.

Coupons and promo codes

A percentage or an amount off, once, for a number of periods or for ever. Promo codes can expire, cap their uses or be for first-time subscribers only.

Invoices

Every charge gets an invoice, opened before the card is charged, numbered without gaps and itemized down to the coupon, with a PDF for you and your customer.

A customer portal

Send a customer a link to their own page to cancel, change plan, update their card and download invoices, as far as you allow.

A test clock

In test mode, move time forward up to five years and see renewals, retries and cancellations in minutes.

Events for every step

subscription.renewed, subscription.payment_failed, subscription.recovered and more, signed and delivered to your webhook.

Two calls

A plan, then a subscriber.

Plans and subscriptions are in the API, the Node and Python SDKs and the MCP server, so an agent can set up billing too. MCP tools: create_plan, create_subscription, get_subscription and cancel_subscription.

Node.js
const plan = await tuppence.plans.create({
  name: "Pro",
  amount: 1200,        // $12.00
  interval: "month",
  trial_days: 14,
});

const subscription = await tuppence.subscriptions.create({
  customer: "cus_01K…",  // with a saved card
  plan: plan.id,
});
// subscription.status → "trialing"
Pricing

Priced like every other payment.

Subscription charges cost the same as any other payment: 2.49% + 20¢ on US cards, with no monthly fee.

See all pricing
Not yet. The subscription engine is new. Not available yet:
  • Trials on subscription links
  • Tax on invoices: none is calculated yet

Charging for usage instead of a flat price? See Metered AI.

Payments that give more back.

Start in test mode in a minute. Go live once you’re verified.