Not on Stripe? TrackRev connects to five other processors the same way — a read-only key for
pulling charges, plus an optional instant-sync webhook so sales appear the moment they
happen (the hourly pull stays on as a backstop either way). Add them from Configuration →
Integrations → “2 · Connect your revenue provider” using the Quick connect or Manual
setup tabs. Each key is validated with one live read before it’s saved.
Turn on instant sync (recommended)
By default a new connection syncs on the hourly schedule. To make sales show up in seconds:
Open the connection's instant-sync panel
On Integrations, each connected provider row shows an Instant or Cron-only
badge. Click “Turn on instant sync” under the row.
Add the endpoint in your provider's dashboard
Copy the endpoint URL shown, paste it as a new webhook in the provider’s dashboard, and
subscribe the listed events (e.g. order.paid for Polar, payment.succeeded for Dodo).
Paste the signing secret back
Copy the signing secret the provider generates and save it in the panel. The badge flips
to Instant.
The webhook is a doorbell, not a data source: a verified event triggers the same incremental
sync the cron runs, so orders, attribution and commissions stay on one pipeline and replays
are harmless.
For exact attribution, pass the visitor id (window.trk.vid) at checkout for every processor —
the exact field differs per provider and is listed below and in
Pass the visitor id to checkout.
Paddle
Polar
Lemon Squeezy
Creem
Dodo Payments
Paddle (Billing)
Use an API key from Paddle Billing, not Paddle Classic.
- Credential: a single API key (
pdl_live_…), created at your Paddle dashboard →
Authentication.
- Permissions to enable: Customer (Read), Product (Read), Subscription (Read), Transaction
(Read), Discount (Read). Choose Never expires.
- What’s pulled: completed transactions since the last sync.
- Visitor id field:
custom_data.vid (via Paddle.js customData: { vid }).
- Coupons: resolved from the transaction’s discount code — useful for crediting an
affiliate on a Paddle discount.
Polar
- Credentials: an Organization Access Token (
polar_oat_…) and your Organization
ID.
- Scopes to enable:
orders:read, subscriptions:read, organizations:read. Choose No
expiration.
- What’s pulled: orders, newest first.
- Visitor id field:
metadata.vid.
- Coupons: the native discount code, or a
coupon / coupon_code metadata field.
Lemon Squeezy
- Credential: an API key (Bearer), plus an optional Store ID. Set the expiry to 10+
years.
- What’s pulled: orders, newest first.
- Attribution: email-only. Lemon Squeezy orders don’t expose checkout custom data, so
TrackRev matches sales by the customer’s email (attach it with
identify()). Coupon codes aren’t
available from LS orders.
Because LS is email-only, make sure you call window.trk.identify(email) on your site
before or at purchase so the buyer’s email is tied to their visitor.
Creem
- Credential: a Production API key (
creem_live_…), sent as x-api-key. Enable READ
access for all scopes.
- What’s pulled: transactions (customer emails are fetched to enable email matching).
- Visitor id field:
metadata.vid.
- Coupons: add a
coupon metadata field to credit an affiliate.
Dodo Payments
- Credential: a read-only API key (Bearer).
- What’s pulled: succeeded payments since the last sync.
- Visitor id field:
metadata.vid.
- Coupons: add a
coupon metadata field to credit an affiliate.
Manage connections
Each connected provider shows a Sync now button and a disconnect (trash) action. You can run
several processors in one workspace at once — all their orders flow into the same
Orders list and roll up by channel.
Notes on partial refunds
For Creem and Dodo, a partial refund is treated as a paid order (revenue was generated,
commission is owed). Only a full refund marks an order refunded and reverses commissions. See
Refunds & renewals.