User GuidePayment
Creem
Configure Creem payments
Creem is a checkout built for indie developers selling internationally. Onboarding is lighter than Stripe, and it supports one-time payments and subscriptions.
Setup
-
Create a Creem account
- Go to the Creem website
- Sign up and finish verification
-
Get API credentials
- Open the Creem Dashboard
- Go to the API settings page
- Generate an API key and a webhook secret
-
Create a product
- Create the product in the Dashboard or through the API
- Set the price and billing period
- Copy the product ID. You will set it as
creemProductId
-
Configure the webhook
- Go to Developers → Webhooks
- Add this URL:
https://yourdomain.com/api/payment/webhook/creem
Environment variables
Add these to .env:
# Creem
CREEM_API_KEY=creem_xxxxxxxx # API key
CREEM_SERVER_URL=https://api.creem.io # Optional. Defaults to the test API: https://test-api.creem.io
CREEM_WEBHOOK_SECRET=whsec_xxxxxxxx # Webhook signing secretCREEM_SERVER_URL is optional. When it is unset, the app uses https://test-api.creem.io.
Features
- Multiple currencies
- Flexible pricing
- One-time payments and subscriptions
- A modern API
- A simpler review process than Stripe
- A practical option for indie developers
Plan example
The config/payment.ts example below applies only to static pricing (the default). With dynamic pricing, you do not need to edit config/payment.ts. Create the plan in the admin panel at /admin/pricing and fill in creemProductId there.
monthlyCreem: {
provider: 'creem',
id: 'monthlyCreem',
amount: 10,
currency: 'USD',
duration: {
months: 1,
type: 'recurring'
},
creemProductId: 'prod_1M1c4ktVmvLgrNtpVB9oQf',
i18n: {
'en': {
name: 'Monthly Plan (Creem)',
description: 'Perfect for short-term projects via Creem',
duration: 'month',
features: ['All premium features', 'Priority support']
},
}
}Back to Payment overview