MuseMVP

MuseMVP Base: Next.js for Node and Cloudflare. MuseMVP Flare: an AI SaaS template that runs entirely on Cloudflare. Authentication, billing and administration included.

Product
  • Home
  • Pricing
  • Templates
Resources
  • Docs
  • Blog
  • Changelog
Legal
  • Privacy
  • Terms
  • Community
Open-Launch Top 1 Daily WinnerOpen-Launch Top 1 Daily WinnerVerified DR - Verified Domain Rating for musemvp.comVerified DR - Verified Domain Rating for musemvp.comMuseMVP - Featured on Startup FameMuseMVP - Featured on Startup FameFazier badgeFazier badgeLiftOff award badgeLiftOff award badge

© 2026 MuseMVP. All rights reserved.

MuseMVP
  • Pricing
  • Docs
  • Blog
  • Changelog
Buy MuseMVP Base
MuseMVP Docs
MuseMVP Docs
OverviewTech StackQuick Start
Project Structure
Billing ConfigurationStripeCreemDodo PaymentsWaffo Pancake
EmailObject Storage
Internationalization
SEOAnalytics
Billing

Creem

Configure the Creem gateway.

MuseMVP integrates Creem as one of its payment gateways, offering a payment solution for indie developers without a US entity. Through the unified Muse Billing module, it shares the same business logic and database tables as Stripe. This guide explains how to configure the Creem gateway and understand how it works.

Get the Creem API key

Retrieve your API key from the Creem Dashboard and set CREEM_API_KEY plus the Creem environment variables.

Creem

Key Security

Keep gateway secrets in env files or the platform secret store. Never expose them to the client or version control.

Get the Creem webhook secret

Creem

Creem

In the Creem Dashboard, create a Webhook and set the callback URL to:

https://example.com/api/muse-billing/notify/muse_creem

Select the event types to listen for (or all):

  • checkout.completed
  • subscription.active
  • subscription.canceled
  • subscription.updated

Creem

Set CREEM_WEBHOOK_SECRET to the signing secret from the Creem webhook.

Key Security

The webhook secret is a server-side environment variable. A mismatch with Creem will reject every webhook.

Create Products and Get Product IDs

Checkout product IDs are CREEM_PRODUCT_ID_PRO_MONTHLY, CREEM_PRODUCT_ID_PRO_YEARLY, and CREEM_PRODUCT_ID_LIFETIME. The public pricing UI uses stable app plan IDs.

Creem

After creating the corresponding products in the Creem Dashboard, paste the product IDs into the CREEM_PRODUCT_ID_* environment variables.

Local Development Testing

Download Ngrok

Ngrok (https://dashboard.ngrok.com/get-started/setup/windows) is a reverse proxy tool that exposes your local development server to the public internet.

Ngrok

Run

ngrok http 3000

Ngrok

Callback Domain

Use the terminal domain shown above as the callback URL in your Webhook configuration.

Switch to Sandbox Environment

Use Creem sandbox credentials in the env file and Creem test mode in the Dashboard.

Test Mode

Payments in the Creem sandbox environment do not result in real charges, making it safe for local testing of subscription and one-time purchase flows.

How It Works

Learn how Muse Billing integrates Creem into the system.

Integration Files

packages/billing/src/gateways/creem/gateway.ts
src/modules/muse-billing/lib/services/launch.ts
src/backend/api/routes/muse-billing/router.ts
FilePurpose
creem/gateway.tsCreem gateway implementation: launch, Webhook parsing, contract sync.
services/launch.tsCheckout orchestration; customer-hub.ts and webhook.ts own the other flows.
router.tsAPI routes: exposes /api/muse-billing/* endpoints.

Core Workflow

The action flow for payment and accessing the Customer Hub:

Frontend calls POST /api/muse-billing/launch with productId, optional gatewayId (defaults to orchestrator selection), etc.

Server resolves the Creem product or price ID from CREEM_PRODUCT_ID_* environment variables.

Creem returns launchUrl and launchSessionId; frontend redirects to the Creem-hosted checkout page.

After payment, Creem sends a webhook; the server verifies the signature and syncs contract lifecycle and access window to the database.

When the user needs to access the platform portal, call POST /api/muse-billing/customer-hub to get a redirect link to the Creem Customer Portal for managing subscriptions or downloading receipts.

Related Docs

  • Stripe Payment Gateway — Alternative payment gateway
  • Dodo Payments Gateway — Alternative payment gateway
  • Waffo Pancake Gateway — Alternative payment gateway
  • Environment Variables — Gateway credentials and checkout product IDs
  • Basic Configuration — Pricing catalog and stable plan IDs

Stripe

Configure the Stripe gateway.

Dodo Payments

Configure the Dodo Payments gateway.

On this page

Get the Creem API keyGet the Creem webhook secretCreate Products and Get Product IDsLocal Development TestingDownload NgrokRunSwitch to Sandbox EnvironmentHow It WorksIntegration FilesCore WorkflowRelated Docs

One payment. Tax included.

MuseMVP Base

Next.js for Node and for Cloudflare, with auth, payments and admin.

$69

Buy MuseMVP Base