Creem
Connect Creem as a payment provider in PayGlue.
Creem is a merchant of record — it handles tax collection and compliance on your behalf. When a customer completes a checkout or a subscription event happens in Creem, PayGlue automatically creates or updates the matching Ghost member.
Prerequisites
- A Creem account at creem.io with at least one product created
- A Ghost blog connected in PayGlue (Connect Ghost)
Steps
1. Create an API key
In your Creem dashboard, go to Developers > API Keys and create a new key.
[Screenshot — Creem Developers → API Keys: Create key button and resulting key field]
Copy the key — it starts with creem_.
2. Add a webhook endpoint
Go to Developers > Webhooks, click Add endpoint, and paste the webhook URL from your PayGlue Creem connection page:
https://api.payglue.io/webhooks/creem?tenant=YOUR-SLUGReplace YOUR-SLUG with your PayGlue organization slug.
Select the checkout and subscription events (checkout.completed, subscription.paid, subscription.active, subscription.canceled, subscription.expired).
[Screenshot — Creem Developers → Webhooks: Add endpoint form with URL and events selected]
3. Copy the signing secret
After saving the endpoint, Creem shows a signing secret. Copy it — you will need it in the next step.
[Screenshot — Creem: saved webhook endpoint with signing secret field visible]
4. Enter credentials in PayGlue
In your PayGlue dashboard, go to Connection > Creem and fill in:
- API Key — from Step 1
- Webhook Secret — the signing secret from Step 3
There is no sandbox setting. PayGlue recognises a test-mode key on its own and talks to test-api.creem.io for it, and to api.creem.io for a live key.

Click Save credentials.
5. Run a health check
Click Run health check to confirm PayGlue can reach your Creem account. A green "Connection established" banner means everything is working.
6. Create a mapping
Go to Buy Button, Paywall, or Pricing Table in your PayGlue dashboard and select your Creem product from the dropdown. Choose which Ghost newsletter to subscribe the buyer to and which welcome email to send, then save.
7. Test your setup
Make a test purchase or subscription on one of your Creem products. Then open Analytics > Webhook Events in your PayGlue dashboard — the event should appear with status Processed and the buyer's email should appear as a new member in Ghost Admin.
Supported events
Creem event | PayGlue action |
|---|---|
| Create Ghost member (one-time purchase) |
| Confirm active Ghost member (renewal) |
| Grant Ghost membership |
| Revoke Ghost membership |
| Revoke Ghost membership |
Sandbox mode
Use a test-mode API key while testing. PayGlue detects it and talks to test-api.creem.io instead of the live API. Test purchases arrive at the same webhook URL and are marked with the payglue-test label in Ghost. Remove test members from Ghost Admin before switching to live credentials.
Troubleshooting
Health check fails after saving credentials
Confirm the API key was copied in full from Developers > API Keys and that it has not been revoked in Creem. PayGlue tries the key against Creem's test and live API, so either kind of key works.
Webhook shows as Failed in Analytics
Creem signs every webhook delivery with the creem-signature header — unlike some other providers, PayGlue treats a missing or invalid signature as a hard failure. Check that the Webhook Secret in PayGlue matches the signing secret shown on the endpoint in Creem exactly.
Ghost member is not created after purchase
Confirm there is an active mapping for the Creem product in the Buy Button, Paywall, or Pricing Table editor. PayGlue receives the event but takes no action without a mapping.
Webhook signature verification
Creem signs every webhook delivery with an HMAC-SHA256 signature over the raw request body, sent in the creem-signature header. PayGlue verifies this signature using your Webhook Secret and rejects any delivery with a missing or mismatched signature.
Was this helpful?
Your feedback shapes what we write next.
