Recurring billing is one of those features that looks like a weekend project and turns into a quarter. You need plan definitions, a checkout that stores a card, a scheduler, cancellation handling, receipts, proration, dunning, and a way to reconcile all of it.
Many small businesses and the technical founders behind them don't need most of that. They need: this customer pays this fixed amount every month, on a card, until they cancel.
This post looks at the hosted subscription-link approach to that problem, using SaturnShift's implementation as the concrete example. SaturnShift is a payments and invoicing platform for US small businesses: cards and ACH (processed by Stripe), invoicing, QuickBooks Online and recurring billing, with stablecoins as an extra payment option. The focus is the model, the flow and especially the limits, because the limits decide whether this approach fits your case.
Scope note: this covers product behavior, not an API reference. It doesn't document endpoints or webhooks.
The model: plan, link, subscriber
There are three objects.
Plan. The merchant defines:
- a name;
- a fixed price;
- a billing interval: weekly, monthly, quarterly or yearly;
- optionally, a trial period before the first charge.
Each plan has one price and one interval. There's no usage component and no tiering inside a plan.
Hosted subscription checkout link. Every plan gets its own link to a hosted checkout. You can:
- send it directly (email, text message, a proposal);
- post it publicly (social, newsletter, a printed QR or flyer);
- put a Subscribe button on your website that opens the hosted checkout.
Subscriber. The customer subscribes with a card on the hosted page. They don't need a SaturnShift account.
The flow
merchant creates plan (name, fixed price, interval, optional trial)
│
▼
plan gets a hosted checkout link ──► shared directly / posted / Subscribe button
│
▼
customer enters card on hosted checkout (no account needed)
│
▼
confirmation email includes a secure subscription-management link
│
▼
card charged automatically on the plan's schedule
│
├──► payments appear in merchant reporting
│
└──► cancel (customer via secure link, or merchant from their account)
└──► resume = reverse a scheduled cancellation before it takes effect
Cancellation and "resume"
The confirmation email includes a secure subscription-management link. The customer can use it to cancel, or to resume.
"Resume" has a narrow meaning: it reverses a scheduled cancellation before it takes effect. It is not a pause, and pausing isn't supported.
The merchant can also cancel a subscription from their own account, for example when a customer asks by email.
Modeling tip: if you mirror subscription status in your own system, keep "cancellation scheduled" separate from "cancelled". Resume only applies in the first state.
What this design trades away
Before you commit, these are the constraints to check against your use case.
| Constraint | What it means for your design |
|---|---|
| Card only | Recurring billing is charged to a card. Recurring ACH and recurring stablecoin billing aren't available. Customers who want to pay by bank can still pay one-time invoices that way. |
| Fixed price per plan | No usage-based or metered billing. Bill variable amounts (overages, add-ons) with one-time invoices or payment links. |
| No upgrades, downgrades, plan switching or pausing | Changing a plan is a business-process decision outside the subscription. Design your plans carefully before sharing links. |
| Hosted checkout | A Subscribe button opens SaturnShift's hosted checkout. It doesn't embed the card form inside your page. |
| No QuickBooks Online sync for subscription payments | One-time invoices sync to QuickBooks Online on the plans that include it; subscription payments don't. Record them in your books another way. |
| Communication is mostly on you | Beyond the initial confirmation email, tell customers in your own words what they're signing up for and when they'll be charged. Don't assume the platform sends renewal receipts, failed-payment emails or card-update requests. |
| Plan requirement | Subscriptions are on the Full Suite plan ($69/month) only. They're not on Starter ($0) or Crypto Suite ($49). |
| Manual account approval | You can sign up and build plans right away, but live payments, subscriptions included, start only once SaturnShift has approved the account. Approval is a manual review, so leave room for it in a launch plan. |
A hybrid pattern that works well
Most service businesses end up using subscriptions for the fixed part and invoices for the variable part.
- Retainer: subscription link at a fixed monthly price.
- Overages / project add-ons: one-time invoice or payment link. These can be paid by card, ACH or stablecoin, depending on plan, and a payment link can let the customer enter the amount.
- Setup or onboarding fee: a separate one-time invoice or payment link, sent alongside the subscription link.
In your own records, link the two by customer, not by payment. The subscription and the one-time invoices are separate objects, and only the invoices sync to QuickBooks Online.
Reconciliation notes
- Subscription payments appear in SaturnShift reporting alongside your other payments. Check reporting regularly, so you notice when an expected payment hasn't come in and can follow up personally.
- Fees: SaturnShift transaction fees apply to each payment (see the pricing page), and Stripe's card processing fees apply on top. The SaturnShift fee isn't the full cost of a card payment, so record both if you compute net revenue.
- Books: because subscription payments don't sync to QuickBooks Online, decide up front how they get into your accounting. Use a periodic entry from reporting, for example, and document the process so whoever closes the month knows the two sources differ.
Compliance is still yours
Auto-renewal and consumer-protection rules vary by state, and meeting them is the business's responsibility, not the payment tool's. Common guidance: show the terms before checkout (amount, interval, first charge date, how to cancel), get clear opt-in consent, and make cancellation easy. The built-in secure cancellation link helps with the last point, but the disclosures are yours to write.
Pricing context
- Subscriptions: Full Suite, $69/month, card only.
- Starter ($0/month) doesn't include subscriptions or QuickBooks Online.
- Paid plans have a 7-day trial requiring a card on file.
- SaturnShift transaction fees per plan are listed on the pricing page; Stripe's fees apply separately for card payments.
Wrapping up
Hosted subscription links are a good fit when the billing really is "fixed amount, fixed interval, card". In return for giving up proration, plan changes, pausing and embedded checkout, you get recurring billing without running a billing system. If your pricing needs any of those, combine subscriptions with one-time invoices, or pick a full billing platform.
The full guide to subscription payment links has worked examples by business type, and the pricing page shows what each plan includes.
Top comments (0)