Skip to content

Dodo Payments

Attribute Dodo Payments payments and subscriptions to the traffic that earned them.

Realific listens for Dodo Payments webhooks. You add one webhook in Dodo Payments that points at Realific, and paste its signing secret into Settings → Revenue → Dodo Payments.

Set up the webhook

Where: app.dodopayments.com → Developer → Webhooks

  1. Open app.dodopayments.com (Live mode) and go to Developer → Webhooks.
  2. Click “Add endpoint” and paste https://api.realific.app/webhooks/dodo/YOUR_SITE_ID
  3. Subscribe to the events listed below and create the endpoint.
  4. Open the endpoint’s Overview tab and copy the “Signing secret” (starts with whsec_).
  5. Paste the secret into Realific (Settings → Revenue).

Your exact webhook URL, with your site id filled in, is on the provider card in Settings → Revenue.

Events

  • payment.succeeded
  • refund.succeeded

Where the secret is

Developer → Webhooks → your endpoint → Overview tab → Signing secret.

Realific stores the secret encrypted (AES-GCM) and never shows it again. To rotate it, paste the new one and click Update secret.

Add the visitor id to the checkout session metadata, or as metadata_realific_visitor_id on a payment link.

await dodo.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_…', quantity: 1 }],
  metadata: { realific_visitor_id: visitorId },
});

// Payment link: …/buy/pdt_…?metadata_realific_visitor_id=VISITOR_ID

In the browser, the visitor id is the _rf_vid cookie, also available as window.realific.v. Without it, Realific matches the customer email against users identified with realific.identify() in the last 30 days.

Check it works

Make a test purchase (or use Dodo Payments’s “send test event”), then open Revenue in Realific. The provider card shows “Last payment received” once the first event arrives.