Overview
Strapi is a leading open-source headless CMS for structuring content and building flexible APIs. The@creem_io/strapi plugin brings Creem’s billing capabilities directly into your Strapi 5 admin panel, so you can create products, configure checkout, and receive verified webhooks without leaving your CMS.
Creem acts as the legal seller of record. VAT, GST, and sales tax across 190+ countries are calculated, collected, and remitted for you, making this pairing especially useful when your Strapi project is the operational hub for a product you sell globally.
What you'll learn
What you'll learn
How to install and configure the Creem plugin for Strapi 5, manage products from the Strapi admin, wire up a front-end checkout through Strapi’s content API, and receive verified Creem webhook events.
Requirements
- A Creem account with at least one API key
- A Strapi 5 project (or create one during this guide)
- Node.js v22 or later
Create a Strapi project
Open your terminal and scaffold a new Strapi project with their CLI:http://localhost:1337/admin. Complete the initial registration so you can sign in after installing the plugin.
Install the Strapi plugin
To install the plugin, run the following command:
Configure environment variables
API Keys
Get at least one API key from the Creem dashboard under Developers. Test and production keys are separate; test keys are typically prefixed withcreem_test_.
| Variable | When you need it |
|---|---|
STRAPI_CREEM_TEST_API_KEY | Test Mode (https://test-api.creem.io/v1) |
STRAPI_CREEM_API_KEY | Production (https://api.creem.io/v1) |
Webhook Secret (optional)
| Variable | Purpose |
|---|---|
STRAPI_CREEM_WEBHOOK_SECRET | Signing secret from Developers → Webhook so Strapi can verify the creem-signature header |
.env:
Access the plugin
Open the admin panel again and then open Strapi 5 Plugin for Creem in the left sidebar.
Manage products
Click + New Product to open the create form.
- One-time and subscription products (including free products with price
0) - Billing interval for subscriptions (daily, monthly, every 3 months, every 6 months, yearly)
- Currency selection (USD or EUR)
- The list view excludes archived products
Edit and archive open the Creem dashboard directly. The Creem API does not support those operations through this plugin yet.
Front-end checkout
The Strapi plugin exposes a checkout route through Strapi’s Content API.
{ "url": "..." } for redirect.
Example request body:
Configure environment and webhook forwarding
To configure the environment and webhook forwarding settings in Strapi, open the Strapi admin sidebar and click on Settings.


| Setting | Description |
|---|---|
| Environment | Choose Test mode or Production. Only environments with a matching .env key are selectable. |
| Checkout success URL | Default redirect after checkout. Per-request success_url is used when this is empty. Must be HTTPS in production. |
| Webhook forward URL | After HMAC-SHA256 verification, the plugin POSTs the parsed event JSON to this URL. Useful for provisioning access, updating user records, or triggering email automation. |
Register the webhook in Creem
- In the Creem dashboard, go to Developers → Webhook.
-
Add your public HTTPS endpoint:
Production / staging:
Local development (Creem cannot reach
localhostdirectly, so expose your local Strapi with a tunnel first):Then use the tunnel URL: -
Copy the signing secret and set
STRAPI_CREEM_WEBHOOK_SECRETin your Strapi.env. - Restart Strapi.

checkout.completed, subscription.active, subscription.paid, subscription.canceled, refund.created, and more).
Resources
@creem_io/strapi on npm
Install the plugin and view release history.
Creem webhooks guide
Signature verification, event types, and payload examples.
Strapi Content API
Strapi’s REST content API reference.
Creem quickstart
Get your first API key and create a test product.