Skip to main content

Who Is This For?

This guide is for merchants who sell subscription-based services or products with recurring billing. Common examples include:
Business TypeExamples
SaaS ProductsProject management tools, CRM, analytics platforms
Content PlatformsOnline learning, premium newsletters, media access
Digital ServicesCloud hosting, API access, design tools
MembershipCommunity access, premium support, exclusive content

Subscription Lifecycle

Before setting up, it helps to understand how subscriptions flow:
Trial → Active → (Renew each period) → Canceled → Expired
                       ↑                     ↓
                       └───── Reactivate ────┘
StatusWhat It Means
trialingCustomer is in a free trial period
activePaying customer, subscription is active
past_duePayment failed, Waffo is retrying automatically
cancelingCustomer canceled, but still has access until period ends
canceledSubscription has fully ended

Step 1: Create Subscription Products

You’ll typically create multiple products for different pricing tiers (e.g., Free, Pro, Enterprise).
1

Go to Products

In your Dashboard, navigate to Products from the sidebar.
Products list page
2

Create a Subscription Product

Click Create Product and select Subscription as the product type.
Create subscription product form
3

Configure Pricing

  • Name: Your plan name (e.g., “Basic Plan”, “Pro Plan”)
  • Billing Period: Choose monthly, quarterly, or yearly
  • Price: Set the recurring price
  • Description: What’s included in this plan
Create separate products for each billing period. For example, create both a monthly and yearly version of the same plan.
4

Save and Activate

Click Save. The product starts in test mode. Activate it when ready.

Step 2: Organize Plans with Product Groups

If you have multiple tiers (Free, Pro, Enterprise), use Product Groups to organize them.
1

Create a Product Group

Go to Products and create a new product group (e.g., “Pricing Plans”).
2

Add Products to the Group

Select the subscription products that belong together. This helps manage pricing tiers as a unit.
3

Configure Group Settings

  • Shared Trial: If enabled, a customer who used a trial on one plan can’t get another trial on a different plan in the same group.
Product groups are optional but recommended if you offer multiple pricing tiers. They prevent trial abuse and simplify management.

Step 3: Share and Start Selling

Just like one-time products, subscription products get a checkout link. Copy the checkout link from the product detail page:
https://checkout.waffo.ai/your-store/my-product

Build a Pricing Page

Create a pricing page on your website that links to each plan’s checkout URL:
Prices below are examples only. Set them based on your actual business.
PlanPriceCheckout Link
Basic$9/monthhttps://checkout.waffo.ai/your-store/basic-plan
Pro$29/monthhttps://checkout.waffo.ai/your-store/pro-plan
Enterprise$99/monthhttps://checkout.waffo.ai/your-store/enterprise-plan

Step 4: Monitor Subscriptions

Subscriptions Dashboard

Navigate to Subscriptions in the sidebar to see all active, trialing, and canceled subscriptions.
Subscriptions list page
Each subscription shows:
  • Customer email
  • Current plan
  • Status (active, trialing, past_due, etc.)
  • Current period start and end dates
  • Next billing date

Subscription Detail

Click on any subscription to view details:
  • Payment history
  • Plan changes
  • Cancellation details (if applicable)

Step 5: Handle Cancellations

When a customer cancels, the subscription enters a canceling state. The customer keeps access until the current billing period ends, then it becomes canceled.

What Happens Automatically

  • Customer receives a cancellation confirmation email
  • You receive a notification
  • Access continues until the period ends
  • No further charges are made

View Cancellations in Dashboard

Filter subscriptions by Canceling or Canceled status to see who has left.

Business Scenarios

The following are example scenarios. Adjust them to match your actual business.

Scenario 1: SaaS with Monthly and Yearly Plans

  1. Create products: Create both monthly and yearly versions of the same plan
  2. Group them: Create a product group to link them together
  3. Pricing page: Link each option on your website
  4. Monitor: Track MRR and churn in the Analytics page

Scenario 2: Content Platform with Free Trial

  1. Create product: Set up your subscription plan and price
  2. Enable trial: Set a 14-day free trial period
  3. Share link: Customer signs up and starts trial immediately
  4. After trial: Automatically converts to paid subscription, or expires if they don’t add payment

Scenario 3: API Service with Tiered Plans

  1. Create products: Create a subscription product for each tier with different API call quotas and prices
  2. Group them: Create a product group with shared trial
  3. Integrate webhooks: Grant appropriate API limits based on which plan the customer subscribes to

Going Further: Code Integration

When You Need Code

  • Access control: Check subscription status in your app to gate features
  • Automated provisioning: Use webhooks to automatically create accounts or adjust limits
  • Custom cancellation flows: Build in-app cancellation with feedback collection

Key Webhook Events

EventWhen It Fires
subscription.activatedNew subscription started
subscription.updatedPlan changed or renewed
subscription.canceledSubscription fully ended
order.completedRecurring payment processed
subscription.past_duePayment attempt failed
For webhook setup, see the Webhooks guide. For API details, see the API Reference.

Testing

1

Enable Test Mode

Toggle to test mode in your Dashboard.
2

Subscribe with Test Card

Use 4242 4242 4242 4242 to simulate a successful subscription.
3

Check Subscription

Verify the subscription appears in your Subscriptions page with the correct plan and status.
4

Test Cancellation

Cancel the test subscription and verify it transitions to canceling → canceled.

Launch Checklist

  • Subscription products created for each plan/tier
  • Product group set up (if multiple tiers)
  • Pricing page links to correct checkout URLs
  • Test subscription flow works end-to-end
  • Cancellation flow tested
  • Notification emails look correct
  • Products published to production

Next Steps

Set Up Webhooks

Automate access control with subscription event notifications

Usage-Based Billing

Combine subscriptions with metered usage