What you'll need
Access to your Dodo Payments dashboard.
Steps
- 1In your Dodo Payments dashboard, go to Developer → API.
- 2Copy your API key.
- 3Paste it into Thexly under Settings → Payments → Dodo Payments. That's the only credential needed: Thexly creates its own webhook and retrieves its signing secret using this same key, so there's nothing to separately copy from Developer → Webhooks.
What Thexly does with this connection
Thexly reads your succeeded payments and refunds and matches them against sessions your tracking script captured; see how Thexly assigns revenue to a channel for the full mechanism. The only write action Thexly takes is creating (and later removing, if you disconnect) its own webhook registration.
Dodo Payment Links are auto-decorated by Thexly's tracking script. The visitor's session is appended automatically before they click through, no code change needed. If you create payments yourself (server-side), pass the session in metadata as thexly_session_id. Call window.thexly.getSessionId() from your checkout page to get it.
The webhook Thexly registers listens for two event types: payment.succeeded and refund.succeeded. A refund is matched back to its original payment automatically, so a partial or full refund reduces attributed revenue for that transaction instead of showing up as an unrelated negative entry.
Troubleshooting
- Test vs. live mode: Dodo's test and live keys have different prefixes (
dp_test_…anddp_live_…), and Thexly reads the environment straight from whichever key you paste. There's no separate toggle to set. Just make sure you've copied the key for the mode you want connected.