Welcome to WMS Stripe Subscriptions — a streamlined subscription and licensing system designed for WooCommerce + Stripe, built specifically for recurring SaaS-style products.
This documentation walks you through setup, usage, and common questions.
1. Overview #
WMS Stripe Subscriptions allows you to:
- Sell subscription-only products in WooCommerce
- Process recurring payments via Stripe
- Automatically:
- Create Stripe customers
- Create Stripe subscriptions
- Generate and manage licenses via WM Licenses
- Manage customers, subscriptions, billing dates, and pricing per customer
Stripe is the source of truth for billing.
WMS mirrors and manages subscription data inside WordPress.
2. Requirements #
Before using WMS Stripe Subscriptions, ensure you have:
- WordPress 6.0+
- WooCommerce (latest version recommended)
- Stripe account (test and live modes supported)
- WM Licenses plugin installed and active
- HTTPS enabled on your site
3. Initial Setup #
Step 1: Enable WMS Stripe Subscriptions #
- Go to WordPress Admin → Plugins
- Activate WMS Stripe Subscriptions
Step 2: Configure Stripe Keys #
- Go to WooCommerce → Settings → Payments → WMS Stripe Subscriptions
- Enter:
- Test Publishable Key
- Test Secret Key
- Enable Test Mode while testing
- Save changes
Repeat this process later using Live keys when going live.
Step 3: Disable Default Stripe Gateway (Recommended) #
If you are selling only subscriptions:
- Go to WooCommerce → Payments
- Disable the default Stripe gateway
- Leave WMS Stripe Subscriptions enabled
This prevents checkout conflicts.
4. Creating Subscription Products #
Creating a Monthly or Yearly Subscription #
- Go to Products → Add New
- Set Product Type to:
Simple Product
- Enable WMS Subscription
- Configure:
- Billing Interval (Monthly / Yearly)
- Price
- Publish the product
⚠️ Do not edit billing interval or price on products that already have subscribers.
Duplicate the product instead.
5. Checkout Experience #
At checkout:
- Customers see Embedded Credit / Debit Card fields
- Card details are securely handled by Stripe
- Cards are saved automatically for future renewals
- Postal Code / ZIP supports international formats
After payment:
- Order completes
- Subscription is created in Stripe
- License is generated and emailed automatically
6. Subscriptions (WMS) Dashboard #
Navigate to:
WordPress Admin → Subscriptions (WMS)
You can:
- View all subscriptions
- See:
- Stripe Subscription ID
- Customer email
- Status (Active, Cancelled, Expired)
- Perform bulk actions:
- Activate
- Pause
- Cancel
- Delete
Clicking a Stripe Subscription ID opens the internal WMS subscription profile.
7. Customer Profile (WMS) #
Each customer has a dedicated profile page.
Customer Profile Includes: #
- Name
- Phone
- Billing Address
- Stripe Customer ID
- Active and past subscriptions
- License keys per subscription
Editable Fields: #
- Name
- Phone
- Address
Changes update:
- WMS records
- Stripe customer data (where applicable)
8. Editing Subscription Pricing (Per Customer) #
You can safely change pricing for a single customer only.
How it works: #
- The subscription is updated at the Stripe subscription level
- Other customers on the same product are not affected
Use cases:
- Discounts
- Legacy pricing
- Custom enterprise pricing
9. Changing the Next Billing Date #
Important Stripe Rule #
Stripe does not allow directly setting billing_cycle_anchor to an arbitrary date.
How WMS Handles This #
To change a customer’s next billing date:
- The system adjusts the subscription via proration or deferred billing
- Stripe calculates the correct next invoice date
- WMS displays the updated next billing date after the change
This ensures compliance with Stripe’s API rules while giving you flexibility.
10. Subscription Cancellation & Licenses #
What happens when a subscription is cancelled? #
| Subscription State | License Status |
|---|---|
| Active | Active |
| Cancelled (still within paid period) | Active |
| Fully expired | Disabled |
✔ Licenses remain valid until the paid period ends
✔ Licenses automatically deactivate once the subscription fully ends
11. Switching Monthly → Yearly Plans #
To offer yearly plans:
- Duplicate the monthly product
- Change billing interval to Yearly
- Publish as a new product
Result: #
- Existing monthly subscribers are unaffected
- New customers subscribe yearly
- Licenses are generated correctly for each plan
12. Stripe Invoices & Automatic Collection #
WMS ensures:
- Invoices are created with automatic collection enabled
- Stripe charges customers automatically on renewal
- Payment failures follow Stripe’s retry logic
You do not need to manually enable invoice collection.
13. Common Troubleshooting #
❌ Order stuck on loading #
- Ensure default Stripe gateway is disabled
- Confirm Stripe keys match test/live mode
- Ensure only one subscription product is in cart
❌ License not created #
- Confirm WM Licenses is active
- Check subscription status is Active
- Verify webhook connectivity (if enabled)
❌ Postal Code validation issues #
- Ensure latest plugin version is installed
- International postal codes are fully supported
14. Best Practices #
- Always test in Stripe Test Mode
- Duplicate products instead of editing live pricing
- Use Customer Profiles for custom pricing & billing changes
- Let Stripe remain the billing authority
15. Support #
If you experience issues:
- Enable WordPress debug logging
- Check WooCommerce logs
- Contact support with:
- Order ID
- Subscription ID
- Timestamp of the issue