CREEM × DATAFAST@itzsudhan/creem-datafast
Official Core SDKPublic Payload Feed

Revenue attributionthat actuallyshows everyhandoff.

One package wraps the official CREEM SDK, resolves live DataFast visitor IDs, injects them into checkout metadata, verifies webhooks, and forwards normalized payments back to DataFast. The public demo lets you see the whole loop instead of guessing.

Next.jsExpressFastifyHonoBunElysiaNitroNestJS
What Makes It Tight

Not just a webhook helper. A full attribution path that closes the loop.

The hard part is not firing one request. The hard part is carrying visitor context from the browser into CREEM, then making sure the webhook forwarding path lands in DataFast with the right amount, currency, transaction ID, and visitor attribution.

Official Core SDKBuilt on top of the real `creem` package, not a wrapper around a wrapper.
Metadata InjectionResolves DataFast visitor/session IDs and merges them into CREEM checkout metadata.
Same-Origin Browser EventsThe demo proxies DataFast browser events through Next.js to make attribution more reliable.
Framework Lab

One client, shown across the runtimes people actually use.

Read Full Cookbook
Official helperNext.js
export const POST = createNextWebhookHandler(client);
Raw bodyExpress
await client.handleWebhook({ rawBody: req.body.toString('utf8'), headers: req.headers });
Fetch RequestBun
const result = await client.handleWebhookRequest(request);
Fetch RequestHono
const result = await client.handleWebhookRequest(c.req.raw);
Raw bodyFastify
await client.handleWebhook({ rawBody: request.body as string, headers: request.headers });
Raw bodyNestJS
await client.handleWebhook({ rawBody: req.body.toString('utf8'), headers });

Zero-Glue Checkout Creation

The package resolves tracking from browser context or explicit input, then injects the final DataFast IDs before the checkout ever leaves your app.

Hosted CREEM Link Support

If you use direct CREEM payment links instead of server-created checkouts, the browser helper still appends the attribution metadata for you.

Production Runtime Guards

Webhook signatures, event dedupe, retry with backoff, currency-aware amount conversion, and optional transaction hydration are part of the default path.

Visible Proof Loop

The demo does not hide behind promises. It shows browser tracking, checkout metadata resolution, webhook processing, and the exact payment payload forwarded to DataFast.

How The Loop Closes

Three moves from first pageview to attributed CREEM revenue.

01

The DataFast SDK creates a real visitor and session, then flushes the first pageview through the demo's same-origin proxy.

02

Checkout creation injects the resolved DataFast IDs into CREEM metadata, whether the flow starts from your API route or a hosted payment link.

03

When CREEM sends the webhook, the package verifies the signature, normalizes the payment payload, and forwards the revenue event to DataFast.

Live SandboxLanding page → checkout → webhook → DataFast payload
Interactive Demo

Run the flow, then inspect the exact payload that gets forwarded.

The server checkout button uses the package wrapper directly. The direct-link button uses the browser helper to append DataFast metadata onto a hosted CREEM payment link. Everything below is live state from this demo instance.

Launch The Flow

Run a real checkout and watch the attribution payload appear.

This demo initializes the official DataFast SDK in the browser, stores visitor cookies on the root domain, proxies analytics events through the same Next.js origin, injects the live tracking IDs into Creem checkout metadata, and shows the exact payload forwarded back to DataFast after the webhook lands.

Open Direct Creem Link

Tracking Inspector

Root-domain visitor cookies plus same-origin DataFast event proxy
Visitor IDMissing
Session IDMissing
DataFast DomainDetecting
Event Proxy/api/events
Direct LinkSyncing

Forwarded Payload Feed

Recent checkout and webhook activity from this demo instance
No events yet. Start a checkout and then trigger the Creem webhook to see the DataFast payload appear here.