In this guide · 8 sections
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:
| Status | What it means | What you do |
|---|---|---|
| trialing | In a free trial; no charge yet | Give access; Stripe charges when the trial ends |
| incomplete | First invoice not yet paid (23-hour window) | Wait; do not give access yet |
| active | Paid and in good standing | Give access |
| past_due | A renewal payment failed; Stripe is retrying | Remind the customer to update their card |
| unpaid or canceled | Retries ran out, depending on your settings | Pause access or follow up personally |
| incomplete_expired | First payment never completed within 23 hours | Ask 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
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.
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.
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.
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.
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.
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.
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 Billing | HitPay recurring billing | |
|---|---|---|
| Software fee | 0.7% of billing volume | 0.2% on top of payment fees |
| Plans, trials, proration | Full support | Simpler monthly charges |
| Customer self-service portal | Yes, hosted by Stripe | More limited |
| Retries | Smart Retries and custom schedules | Check HitPay's settings |
| Best for | Several plans, trials, software and memberships | Simple fixed monthly fees, GIRO for higher amounts |
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.