Documentation menu

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.

  1. In the Creem dashboard open Developers and create an API key. Enable Test mode on the connector to use test-api.creem.io with a test-mode key.
  2. 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.
  3. Copy the revealed URL into the webhook settings and enable checkout.completed, subscription.*, refund.created and dispute.created.
  4. 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.