Skip to content
itsorted.online
Payments guide

How to Set Up Stripe Subscription Billing for Memberships

Stripe Billing lets a Singapore business charge customers automatically every month or year, for gym memberships, tuition, software, retainers or monthly donations. You set up products and prices once, customers pay by card on a Stripe checkout page, and Stripe creates the invoices, retries failed payments and lets customers update their card or cancel themselves. This guide walks through the set-up in the Stripe Dashboard, the settings that matter for recovering failed payments, and how GST and PayNow fit in.

By IT SortedUpdated 7 min read
in

Key takeaways

  • A subscription starts as incomplete and becomes active once the first invoice is paid.
  • If the first payment is not completed within 23 hours, the subscription expires and the invoice is voided.
  • Stripe's recommended Smart Retries default is 8 tries within 2 weeks.
  • The customer portal lets customers update cards, view invoices and cancel without emailing you.
  • PayNow is paid by the customer each time, so automatic renewals in practice rely on cards.
In this guide · 8 sections
  1. 01How Stripe subscriptions work
  2. 02Step-by-step set-up in the Stripe Dashboard
  3. 03Failed payments: Smart Retries and dunning emails
  4. 04Plan changes, proration and cancellations
  5. 05GST, invoices and PayNow
  6. 06Stripe Billing vs HitPay recurring billing
  7. 07Do it yourself or get help?
  8. 08Frequently asked questions

Short answer

In the Stripe Dashboard: create a product and a recurring price, share a Payment Link or Checkout page so customers subscribe by card, turn on the customer portal so they manage their own card and plan, and switch on Smart Retries with failed-payment emails.

How Stripe subscriptions work

Per Stripe's subscriptions overview, when you create a subscription Stripe automatically generates invoices, attempts payment and tracks the subscription's status. The statuses you will see most:

StatusWhat it meansWhat you do
trialingIn a free trial; no charge yetGive access; Stripe charges when the trial ends
incompleteFirst invoice not yet paid (23-hour window)Wait; do not give access yet
activePaid and in good standingGive access
past_dueA renewal payment failed; Stripe is retryingRemind the customer to update their card
unpaid or canceledRetries ran out, depending on your settingsPause access or follow up personally
incomplete_expiredFirst payment never completed within 23 hoursAsk them to sign up again

If you only sell a few retainers to business clients, you can also set collection to 'send invoice', where Stripe emails an invoice each period with a due date, instead of charging a saved card automatically.

Step-by-step set-up in the Stripe Dashboard

  1. Create the product

    In Product catalogue, add a product such as 'Monthly membership' or 'Website retainer', with a clear name customers will recognise on their statement.

  2. Add a recurring price

    Set the amount in SGD and the interval: monthly, quarterly or yearly. Add more prices to the same product for other plans, such as a cheaper yearly option.

  3. Decide on a trial

    Add a free trial in days if you offer one. The subscription shows as trialing and turns active when the trial ends and payment succeeds.

  4. Share a sign-up link

    Create a Payment Link or use Stripe Checkout or the embeddable pricing table on your website. The customer enters card details once.

  5. Turn on the customer portal

    Activate it in Billing settings, choose what customers may do (update card, switch plan, cancel) and add your branding and cancellation policy.

  6. Set retries and emails

    Under Revenue recovery, enable Smart Retries and the emails that tell customers their payment failed or their card is about to expire.

  7. Connect your systems

    Use webhooks or an integration so your booking system, membership list or Xero knows who is active, past due or cancelled.

For a gym, studio or clinic with classes, check whether your booking system already handles memberships through Stripe; our online booking systems guide compares the options.

Failed payments: Smart Retries and dunning emails

Cards expire, hit limits or get replaced after fraud, so some renewals will fail every month. Stripe's Smart Retries uses AI to pick the best times to retry a failed payment. You choose how many tries and over how long: 1 week, 2 weeks, 3 weeks, 1 month or 2 months. Stripe's recommended default is 8 tries within 2 weeks.

  • Hard declines are not retried with the same card. The customer has to add a new payment method, which is why the update-card email and portal matter.
  • Decide what happens at the end. In your failed-payment settings, choose whether the subscription is cancelled, marked unpaid or left past due when retries run out.
  • Update the right card. Stripe retries using the subscription's default payment method first. If a customer updates their card through the portal, it is set correctly; if your staff update it, check the subscription uses the new card.

Plan changes, proration and cancellations

When a customer upgrades or downgrades in the middle of a billing period, Stripe can prorate: credit the unused part of the old plan and charge the difference for the new one. This suits software or retainers. For classes or memberships with fixed monthly fees, many businesses prefer plan changes to take effect at the next renewal, which you can set in the customer portal configuration.

Cancellations can happen at once or at the end of the current period. End-of-period cancellation is the usual choice for memberships, so customers keep what they have paid for. The customer portal can show a cancellation page that collects reasons and optionally offers a coupon to stay.

GST, invoices and PayNow

  • GST-registered? Add a 9% GST tax rate to your prices, marked inclusive or exclusive to match how you advertise, and put your GST registration number and business details on Stripe invoices. IRAS' invoicing rules/basics-of-gst/invoicing-price-display-and-record-keeping/invoicing-customers) set out what a tax invoice must show.
  • Not GST-registered? Do not add GST to your prices or show it on invoices.
  • PayNow: Stripe supports PayNow on subscription invoices, but PayNow is customer-initiated, so the customer must pay each invoice themselves. For automatic monthly renewals, cards are the practical option.
  • Accounting: subscription payouts arrive as lump sums net of fees. Our guide to connecting Shopify, Stripe or HitPay to Xero explains how to reconcile them.

Stripe Billing vs HitPay recurring billing

Stripe BillingHitPay recurring billing
Software fee0.7% of billing volume0.2% on top of payment fees
Plans, trials, prorationFull supportSimpler monthly charges
Customer self-service portalYes, hosted by StripeMore limited
RetriesSmart Retries and custom schedulesCheck HitPay's settings
Best forSeveral plans, trials, software and membershipsSimple fixed monthly fees, GIRO for higher amounts
Fees from each provider's Singapore pricing page, as of October 2026, before card or PayNow fees.

Our HitPay vs Stripe guide compares payment fees and payouts. Charities taking monthly gifts should also read donation pages for Singapore charities, which covers the extra steps for tax-deductible donations.

Do it yourself or get help?

A single monthly price with a Payment Link and the customer portal is a one-afternoon job in the Stripe Dashboard. It gets harder with several plans, trials, family or corporate memberships, and when your booking system, website login or Xero must stay in step with each subscription.

Subscriptions & Recurring Billing (S$490) sets up your plans and prices in Stripe, a sign-up page or payment links, the customer portal and failed-payment emails. Xero / QuickBooks Integration (S$390) connects the payouts to your accounting so subscription income reconciles cleanly.

Frequently asked questions

In the Stripe Dashboard, create a product, add a recurring price with an interval such as monthly or yearly, then share a Payment Link or Stripe Checkout page. When a customer pays, Stripe creates the subscription and charges their card automatically each period. Turn on the customer portal and Smart Retries before you launch.

Stripe retries the payment automatically. With Smart Retries, you choose the number of tries and a period from 1 week to 2 months; Stripe recommends 8 tries within 2 weeks. Hard declines need a new card. When retries run out, the subscription is cancelled, marked unpaid or left past due, depending on your settings.

Yes, if you enable the Stripe customer portal. Customers can update payment methods, view invoices and, if you allow it, switch plans or cancel. You can show a cancellation page that collects reasons and offers a coupon, and choose whether cancellations take effect immediately or at the end of the period.

Stripe supports PayNow on subscription invoices, but PayNow payments are started by the customer, so they must pay each invoice themselves. For automatic monthly renewals, card payments are the practical choice. HitPay offers GIRO for recurring payments, which suits higher-value monthly fees.

Stripe Billing costs 0.7% of billing volume, on top of the normal payment fees such as 3.4% + S$0.50 for domestic cards, as of October 2026 per Stripe's Singapore pricing page. There is no monthly fee for the standard pay-as-you-go plan.

Rather have it done for you?

Fixed price, set up in your own accounts.

Order online, get a written scope, and keep full ownership of everything we set up. Questions first? Ask us in writing.