Skip to content

Subscription service

The system takes the payment itself, and handles failed charges, trial periods and plan changes.

Who this suits: Anyone selling access rather than a one-off, especially where somebody checks by hand who has paid and whose access should end.

What is in the first version

  • plans and periods
  • trial period
  • failed payment recovery
  • invoices and receipts

The figures above are the package this sits on: Payments and billing. Anything past its edges the calculator adds before the work starts, not after.

How the path goes

  1. 01

    Access follows the payment, exactly

    One rule derived from the subscription state decides what a person can open, not a flag somebody sets by hand.

  2. 02

    A card fails and nothing breaks

    Scheduled retries, a grace period, a message that is not a threat, and access ending on a known date.

  3. 03

    Told twice, charged once

    Payment webhooks arrive more than once by design, so every one is idempotent and a repeat can never charge twice.

What decides whether this works or annoys people

  • Cancellation must be easy

    A hard cancellation buys one month and costs a review, a chargeback and a recommendation, and in more countries it is illegal.

  • Whose name is on the receipt

    Taking payments yourself and taking them through a merchant of record differ in paperwork, tax and risk, and that is decided first.

  • Refunds are part of the design

    Partial, full, mid-period, and what happens to access afterwards: deciding this later means deciding it with an angry customer waiting.

What to measure once it is live

  • trials that became paid
  • failed charges recovered
  • monthly churn
  • billing support tickets

Why this comes out faster

The shape of this one is known: the states, the edge cases and the things that usually go wrong have been decided before. Nothing here is a template, and the saving is not in your half of the work. It goes into your process, your content and the systems this has to talk to, which is the part nobody can have solved in advance.

A likely stack for this

Picked against the task when we scope it, not decided in advance. This is the shelf it usually comes off.

  • Server and dataTypeScriptNode.jsPostgreSQLPrisma
  • Payments and chargesStripePaddleTemporalRedis
  • Customer view and operationsNext.jsReactDockerGrafana
See the whole stack

Price it yourself, right here

Five steps, and you can see the number without leaving a contact. The estimate accounts for the kind of work, what you already have and what it will need inside.

Step 1 of 5
What needs building?

These bills do not come from us

  • Payment provider fees
  • Hosting and servers
  • Email and SMS about charges
  • The domain receipts go out from

Asked before the first call

Cards and crypto at once?
Yes, and both already run in our own product. Two providers means two sets of webhooks and one shared subscription state, which is exactly where this kind of system usually goes wrong.
Can we move over the people already paying?
If the provider stays the same, subscriptions move with its tokens and nobody re-enters a card. If it changes, some customers pay again, and we name that share before the work starts.
Can we change plans and prices ourselves?
Names, prices and limits, yes, from an admin panel, and a new price leaves people already on the old one where they are. A new charging mechanic is code and goes through us.
What it starts at
  • Buildfrom $2,850
  • Timeline3–5 weeks
  • Supportfrom $570/mo
Get the price in a minute