Creem
Import customers, subscriptions, transactions and refunds into Revenue → MRR, Payments, Customers and Attribution. This connector is read-only: it never creates checkouts or refunds in Creem.
- In the Creem dashboard open Developers and create an API key. Enable Test mode on the connector to use
test-api.creem.iowith a test-mode key. - In Revenue → Connectors → Add a connector, choose Creem. Enter a label, the API key and the webhook secret Creem shows when the endpoint is created. Credentials are encrypted in the vault.
- Copy the revealed URL into the webhook settings and enable
checkout.completed,subscription.*,refund.createdanddispute.created. - Use Sync now, then inspect the last sync and event receipts. Verify a known transaction and refund against Creem before relying on totals.
Signatures are a hex HMAC-SHA256 of the raw body in the creem-signature header, compared in constant time. The signature carries no timestamp because Creem legitimately retries deliveries for up to 24 hours; replay is blocked by the evt_ event id claim instead. Webhooks.
Every charge produces exactly one transaction (tran_…), so subscription.paid renewals, refund.created receipts and the transaction sync all converge on the same payment row. checkout.completed supplies the customer and subscription only — its payment arrives through the transaction paths. refund.created carries the full transaction with its cumulative refunded_amount, so refunds restate the stored payment.
Subscription MRR comes from the product's price × units at its billing period (every-month, every-three-months, every-year, …). scheduled_cancel stays revenue-bearing until the period ends.
Sync pages /customers/list, /subscriptions/search and /transactions/search with page_number/page_size, authenticated with the x-api-key header.