Stripe or WooCommerce
Monetization Kit adapts to whatever else is installed. You do not choose a mode. But it is worth knowing that three separate things are detected, not one, and they do not always agree:
| What it decides | What it keys on |
|---|---|
| Who owns subscriptions | Is WooCommerce Subscriptions active? |
| Where readers manage their account | Is WooCommerce active? |
| Whose Stripe keys and connection are used | Is WooCommerce Stripe active and configured? |
“Stripe-only mode” refers to the first of those: no WooCommerce Subscriptions, so the plugin runs subscriptions itself through Stripe Billing. A site can be in Stripe-only mode and still have WooCommerce installed — and then readers use WooCommerce My Account, not the plugin’s own account page.
| No WooCommerce | WooCommerce, no Subscriptions | WooCommerce and Subscriptions | |
|---|---|---|---|
| Mode | Stripe only | Stripe only | WooCommerce |
| Subscriptions | Stripe Billing, owned by the plugin | Stripe Billing, owned by the plugin | WooCommerce Subscriptions |
| Reader accounts | The Account block or [fmk_account] |
WooCommerce My Account | WooCommerce My Account |
| Reader role | fmk_customer, kept out of wp-admin |
WooCommerce’s own | WooCommerce’s own |
| Orders | None | A WooCommerce order per payment | A WooCommerce order per payment |
Stripe keys are missing from that table on purpose: they follow a third switch, covered below.
Sites with no WooCommerce
The leaner setup, and the right one for a site that is not otherwise a shop.
The plugin talks to Stripe directly, stores what it needs against each user, and gives readers an account page of its own. Readers get an fmk_customer role carrying a single capability, read, so they can view the site and nothing else.
They are also kept out of wp-admin: a reader with that role who lands on an admin page is sent to your account page instead, and the admin bar is hidden from them. A paying reader is not a WordPress user in any sense they should see.
All of this keys on WooCommerce being absent, not on the operating mode. Install WooCommerce without Subscriptions and the site is still in Stripe-only mode, but the role is never created — new readers become ordinary subscribers — and the Account block, the wp-admin restriction and the account-page setting all disappear. Those readers use WooCommerce My Account instead.
You need an account page. Set one under Accounts & login → Account page; if you have not, the plugin warns you in the admin and offers to create it for you in one click. See Getting started.
Managing a subscription
Readers are sent to Stripe’s own billing portal to change card details or cancel. Enable it in your Stripe dashboard under Settings → Billing → Customer portal, or the link will not work.
A Stripe Billing subscription routes to the Stripe portal even on a WooCommerce site, so a site that changed modes part-way keeps working for both sets of subscribers.
WooCommerce
The right setup when the site is already selling other things, or when you want orders, invoices and reporting in one place.
Subscriptions become WooCommerce subscriptions, and payments are mirrored as WooCommerce orders so they appear in your usual reports. Purchases, contributions and renewals are mirrored; mirroring can be switched off. Readers manage everything in My Account, which gains a Content Access tab listing what they have bought.
Order mirroring follows WooCommerce, not Subscriptions — so a WooCommerce site with no Subscriptions gets the orders too, despite being in Stripe-only mode.
Stripe keys
Key handling follows WooCommerce Stripe alone, so it applies in either mode, including on a site with no WooCommerce Subscriptions.
If WooCommerce Stripe is installed and has a working key pair, it becomes the authority: the plugin reads keys, test/live mode and the webhook secret from it, and its own key fields collapse to a status panel. Manage keys in WooCommerce Stripe and the plugin follows. Test and live mode then come from WooCommerce Stripe’s own setting rather than from the key prefix.
If WooCommerce Stripe is installed but not finished, the plugin says so and lets you enter standalone keys as a fallback until you complete it.
Your Stripe logs will attribute the plugin’s requests to WooCommerce. Where WooCommerce Stripe holds the keys, the plugin sends its API calls out through WooCommerce Stripe’s connection instead of making its own. Stripe records them under WooCommerce’s user agent, so a failing Monetization Kit request looks like a WooCommerce Stripe failure in the dashboard. Worth knowing before you spend a day debugging the wrong plugin.
Switching between modes
Activating or deactivating WooCommerce changes the mode. That is safe for access — entitlements are stored by the plugin either way — but subscriptions do not migrate. A Stripe Billing subscription created in Stripe-only mode does not become a WooCommerce subscription when you install WooCommerce, and it keeps renewing at Stripe.
Decide before you take real payments.
Currency
Where WooCommerce is active, its currency setting applies — in either mode. Sites without WooCommerce get a currency selector on the Gateways tab.
Prices throughout the plugin — in settings, in filters, in metadata — are integers in the smallest unit of the currency. £4.50 is 450. This avoids rounding errors and matches how Stripe works. The only exception is what a reader sees, which is formatted for display.