# Setting Up Recurring Billing for Memberships & Subscription Products

> Source: https://blog.wcart.io/recurring-billing-setup-ecommerce/  
> Published: 2026-07-09 · Author: Jeeva A  
> A practical, honest guide to recurring billing setup for memberships and subscription products — plans, gateways, dunning, proration, and the customer portal explained.

---

Recurring billing setup means configuring your store to automatically charge customers at regular intervals, such as weekly, monthly, or yearly. It’s commonly used for memberships, subscription boxes, and digital products or services.

**Doing it smoothly, you need four things: **

- a subscription plan model.

-  a payment gateway that supports tokenized recurring charges.

-  automated dunning for failed payments.

-  a self-service portal so customers can pause, upgrade, or cancel on their own. 

If you prefer an all-in-one solution instead of relying on multiple third-party apps, [Wcart includes a built-in white-label subscription engine.](https://wcart.io/online-store-builder) It allows you to manage subscription plans, billing cycles, free trials, and the customer portal from a single platform, making it easier to launch and grow recurring revenue. 

 In this guide, we walk through the exact setup, the decisions that matter, and which approach is the best fit for different types of businesses.

Table of Contents

[Toggle](#)

- [What “recurring billing setup” actually involves](#What_%E2%80%9Crecurring_billing_setup%E2%80%9D_actually_involves)
- [How to set up recurring billing, step by step](#How_to_set_up_recurring_billing_step_by_step)
[1. Connect a gateway that supports recurring charges](#1_Connect_a_gateway_that_supports_recurring_charges)
- [2. Define your plans and billing cycles](#2_Define_your_plans_and_billing_cycles)
- [3. Decide your proration and plan-change rules](#3_Decide_your_proration_and_plan-change_rules)
- [4. Configure dunning and retries](#4_Configure_dunning_and_retries)
- [5. Turn on the customer self-service portal](#5_Turn_on_the_customer_self-service_portal)
- [6. Test the full lifecycle before going live](#6_Test_the_full_lifecycle_before_going_live)

- [Build-it-yourself vs. app vs. native engine](#Build-it-yourself_vs_app_vs_native_engine)
- [Memberships vs. subscription products: they bill differently](#Memberships_vs_subscription_products_they_bill_differently)
[Memberships (access)](#Memberships_access)
- [Subscription products (physical or digital fulfillment)](#Subscription_products_physical_or_digital_fulfillment)

- [Who should choose what](#Who_should_choose_what)
- [Common mistakes to avoid](#Common_mistakes_to_avoid)
- [Frequently asked questions](#Frequently_asked_questions)
- [Start collecting recurring revenue](#Start_collecting_recurring_revenue)
- [Related guides](#Related_guides)

## What “recurring billing setup” actually involves

Recurring billing is more than simply enabling a** charge again next month.** A reliable subscription system is made up of several connected components that need to work together seamlessly . But if even one part is went wrong,it can lead to failed payments, accidental duplicate charges, unnecessary subscription cancellations, and an increase in customer support requests. Here’s the full picture before you touch a single setting.

- **Plans and pricing.** Each recurring product needs a defined billing interval (daily, weekly, monthly, quarterly, annual), a price, and a currency. Most stores also want a free or paid trial, plus the option to offer the same product on multiple cadences (say, “$15/month or $150/year”).

- **Tokenization and the mandate.** You never store a raw card number. The gateway hands back a token (and, in many regions, a stored mandate the customer has authorized) that lets you charge later without the card present.

- **The billing scheduler.** A reliable job that runs on schedule, finds the subscriptions due today, and creates the charge. This is the part homegrown setups most often get wrong.

- **Dunning.** Cards expire and fail. Dunning is the automated retry-and-notify logic that recovers a failed payment before a subscriber gets cancelled.

- **Proration and changes.** When a customer upgrades mid-cycle, you either charge the difference now or wait until the next renewal. Your engine needs one clear rule.

- **The customer portal.** Self-service to view invoices, update the card, pause, swap plans, or cancel, all without emailing you.

## How to set up recurring billing, step by step

The sequence below is platform-agnostic in principle, but it maps directly onto how the[Wcart](https://www.wcart.io) subscription engine is organized, so you can follow it as a literal checklist.

### 1. Connect a gateway that supports recurring charges

- Not every payment gateway supports automatic recurring payments made when the customer isn’t actively completing a checkout. You need one that issues reusable tokens and, where required, deals with strong customer authentication mandates.

- Stripe, for example, provides  features like **Subscriptions and SetupIntents **for exactly this, and while most leading payment gateways offer similar features. Confirm the gateway supports your target currencies and the customer’s region before creating your subscription plans.

### 2. Define your plans and billing cycles

- Create one plan per cadence/price combination. Decide your interval, whether you offer a trial, and your trial type (card-required vs. no-card). A no-card trial maximizes signups; a card-required trial maximizes trial-to-paid conversion. Pick deliberately, because it’s the single biggest lever on subscription economics.

### 3. Decide your proration and plan-change rules

When a customer upgrades from a monthly plan to an annual plan, or switches from a smaller subscription to a larger one, you’ll need to decide how the billing adjustment should be handled.

- **One option **is to charge the prorated difference immediately so the customer only pays for the remaining value of the upgraded plan. This approach is generally fairer and helps you capture revenue sooner. 

- **The other option** is to apply the new plan at the customer’s next billing cycle, which keeps the billing process simpler and avoids unexpected charges. 

Which ever method you choose, define your billing policy clearly before launching your subscription service so both your team and your customers know what to expect. 

### 4. Configure dunning and retries

- Set up a retry schedule for failed payments, such as days 1, 3, 5, and 7, and send reminder emails after each attempt . Decide what should happen if payment still fails: downgrade, pause, or cancel. Involuntary churn from expired cards is one of the largest, most recoverable leaks in any subscription business, and this step pays for itself.

- One thing worth knowing: a lot of those “declined” charges aren’t dead accounts at all, they’re cards that got reissued with a new expiry, so a retry a few days later quietly succeeds without the customer ever noticing.

### 5. Turn on the customer self-service portal

- Give subscribers a self-service portal where they can update their payment details, download invoices, pause their subscription, switch plans, or cancel whenever they want. . This one feature reduces billing support tickets dramatically and reduces angry chargebacks, because a customer who can cancel cleanly rarely disputes the charge with their bank.

### 6. Test the full lifecycle before going live

- Test your subscription flow from start to finish using your payment gateway’s test mode. Check the signup, first charge, renewal, a deliberately failed charge, a successful retry, an upgrade, and a cancellation. Verify the emails, the invoices, and the access changes at each step. Only then do you flip to live keys.

## Build-it-yourself vs. app vs. native engine

There are three honest ways to get recurring billing. None is “best” in the abstract; it depends on how much control you need and how much engineering you want to own. Here is a fair comparison on the dimensions that actually decide it.

Dimension | DIY on a gateway API | Subscription app/plugin on a generic platform | Native engine (e.g. Wcart) |
**Time to launch** | Slowest, you build scheduler, dunning, portal | Fast, install and configure | Fast, built in, configure plans |
**Control over billing logic** | Total | Limited to the app’s features | High, part of the core platform |
**Branding / white-label** | Full, but you build it | Often shows the app’s branding | Fully white-label by design |
**Data ownership** | Yours | Often split across the app vendor | Yours, in one system |
**Maintenance burden** | High, you own every edge case | Shared with the app vendor | Handled by the platform |
**Best fit** | Teams with engineers and unusual logic | Stores happy inside one ecosystem | Brands/marketplaces wanting one owned stack |

Note: we deliberately avoid quoting competitor prices or feature counts here because they change constantly and vary by plan and region. Check each vendor’s own pricing page for current figures. The dimensions above are the durable, verifiable ones.

## Memberships vs. subscription products: they bill differently

People use “subscription” loosely, but two patterns dominate, and they need slightly different setups.

### Memberships (access)

A membership grants ongoing access to something: a community, gated content, member pricing, a course library. The “product” is permission, so the billing engine has to tie subscription status to an access flag. When billing lapses, access should revoke automatically; when a retry succeeds, access should restore. The key requirement is reliable, near-real-time sync between billing state and entitlement.

### Subscription products (physical or digital fulfillment)

A subscription box, a coffee-of-the-month, or a recurring consumable triggers a fulfillment event each cycle. Here the billing engine also has to create an order, decrement inventory, and hand off to shipping on every renewal, not just take a payment. If your platform separates “charge” from “create order,” renewals can silently fail to ship. What actually happens in that scenario is the money lands in your account, the customer’s card statement looks normal, and the first anyone hears about it is a “where’s my box?” ticket three weeks later. A native engine that treats a renewal as a real order avoids that whole class of bug.

## Who should choose what

- **Choose DIY on a gateway API** if you have an experienced development team and need advanced subscription features such as usage-based billing, custom pricing models, or complex proration rules. This approach gives you complete control over your billing logic, but you’ll also be responsible for maintaining the billing scheduler, payment retries, customer portal, and future updates. 

- **Choose a subscription app/plugin** if you’re already committed to a generic ecommerce platform, your needs are standard, and you accept some shared data plus the app vendor’s branding and roadmap.

- **Choose a native engine like**[Wcart](https://www.wcart.io) if you want a white-label store or marketplace where subscriptions, memberships, dunning, proration, and the customer portal are part of one owned system, without a maintenance tax and without billing data scattered across vendors. This is the right fit for brands and marketplace operators who treat recurring revenue as core, not an add-on.

## Common mistakes to avoid

- **No dunning.** Without retries you lose paying customers to expired cards, the cheapest churn there is to prevent.

- **Storing card data yourself.** Always tokenize through the gateway; raw card storage is a PCI and liability trap.

- **Ignoring strong customer authentication.** In regions that require it, recurring mandates must be set up correctly or renewals get declined.

- **Charge-without-order on box products.** If a renewal charges but doesn’t create a fulfillable order, you’ve taken money and shipped nothing.

- **No self-service cancel.** Hiding cancellation drives chargebacks, which hurt your gateway standing far more than the lost subscription ever would.

- **Skipping the failure test.** Always test a failed-then-recovered charge before launch, not just the happy path.

## Frequently asked questions

**Do I need a special payment gateway for recurring billing?**
You need a gateway that supports off-session, tokenized recurring charges and, in applicable regions, stored mandates for strong customer authentication. Most major gateways do, but confirm it supports your currencies and customer regions before building plans. A native engine like Wcart connects to supported gateways so the recurring logic lives in your store, not in a separate tool.

**What is the difference between recurring billing and a payment plan?**
Recurring billing charges an ongoing, indefinite amount on a schedule for continued access or delivery (a subscription), and continues until cancelled. A payment plan (installments) splits a fixed total into a set number of payments that end once the item is paid off. The engine is similar, but installments have a defined end and recurring subscriptions do not.

**Can customers pause or change their subscription themselves?**
They should be able to. A self-service customer portal that allows pausing, upgrading, downgrading, updating the card, and cancelling reduces support load and chargebacks. Wcart includes a customer-facing subscription portal as part of the platform, so this works out of the box.

**How do I handle failed recurring payments?**
Use dunning: automatically retry the charge on a schedule (for example days 1, 3, 5, and 7), email the customer at each attempt with a link to update their card, and define an end state (pause, downgrade, or cancel) if all retries fail. This recovers most involuntary churn caused by expired or declined cards.

**How does proration work when someone upgrades mid-cycle?**
Proration calculates the unused portion of the current plan and the cost of the new plan for the remainder of the period. You can charge the difference immediately or defer the change to the next renewal. Decide one consistent rule before launch so customers are never surprised by an unexpected charge.

**Is recurring billing different for memberships versus subscription boxes?**
Yes. Memberships tie billing status to an access entitlement that must grant and revoke automatically as payments succeed or fail. Subscription boxes must also generate a real order, decrement inventory, and trigger fulfillment on every renewal. Make sure your platform treats a box renewal as an order, not just a charge, or you risk billing without shipping.

## Start collecting recurring revenue

If you want recurring billing that’s part of your store rather than glued on, [launch your white-label store or marketplace with Wcart](https://www.wcart.io). Plans, trials, dunning, proration, and the customer portal are native, so you can go live with subscriptions and memberships without assembling a toolchain.

For background on the underlying concepts, see [the subscription business model](https://en.wikipedia.org/wiki/Subscription_business_model) and [PCI DSS](https://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard) on Wikipedia, and the official [Google payments developer documentation](https://developers.google.com/standard-payments) for payment integration standards.

## Related guides

- [Guest checkout vs. account creation](https://blog.wcart.io/guest-checkout-vs-account-creation), since recurring billing always needs a customer account to manage subscriptions.

- [Mobile commerce optimization](https://blog.wcart.io/mobile-commerce-optimization), where most subscribers will manage their plans from the customer portal.

- [Product schema markup for ecommerce](https://blog.wcart.io/product-schema-markup-ecommerce) to help your subscription products surface better in search.

- [Wcart, start your white-label store or marketplace](https://www.wcart.io)
