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:Replace
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
test-api.creem.io instead of api.creem.io for API calls.[Screenshot — PayGlue dashboard: Creem connection page with API Key, Webhook Secret, and sandbox checkbox]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
Sandbox mode
Tick the sandbox checkbox on the Creem connection page when testing. PayGlue then talks totest-api.creem.io instead of the live API, and expects sandbox checkout/subscription events from the same webhook endpoint. 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 the sandbox checkbox matches the key’s environment (a live key will fail the health check while sandbox mode is ticked, and vice versa). Webhook shows as Failed in Analytics Creem signs every webhook delivery with thecreem-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 thecreem-signature header. PayGlue verifies this signature using your Webhook Secret and rejects any delivery with a missing or mismatched signature.