Dodo Payments is a merchant of record: it sells to your customer, collects and remits sales tax and VAT, and pays you the rest. ProductLense records the amount the customer paid and the part the merchant of record kept as the fee, so profit is based on what reaches you.

Setup steps

  1. In Dodo Payments, open Developer → API Keys and create a live key.
  2. In ProductLense, open Settings → Billing connections → Dodo Payments and paste the key.
  3. In Dodo Payments → Developer → Webhooks, add a webhook endpoint with the URL ProductLense shows after you save the connection (pattern https://api.productlense.app/api/webhooks/{provider}/{connection_id}).
  4. Subscribe to the payment, refund, subscription and dispute events and paste the secret into ProductLense.
  5. ProductLense backfills 12 months of payments and refunds.

Credentials and permissions

Credentials ProductLense asks for
FieldSecretWhere to find it
API keyYes, encrypted at restA live API key from Dodo Payments → Developer → API Keys.
Webhook secretYes, encrypted at restThe whsec_... secret shown on the webhook endpoint you point at ProductLense.

Webhook

URL pattern, shown with your connection id after you save:

text
https://api.productlense.app/api/webhooks/dodo/{connection_id}

Events: payment.succeeded, payment.failed, refund.succeeded, subscription.active, subscription.cancelled, dispute.opened

Verification: Standard Webhooks signature headers.

What ProductLense reads

Customers
Customers with email and metadata.
Subscriptions
Subscriptions with status.
Payments
Payments.
Refunds
Refunds, plus disputes recorded as chargebacks.
Fees
Total amount minus settlement amount when both are in the same currency; otherwise tax only.

What ProductLense never touches

  • Never creates, changes, refunds or cancels anything: read-only API calls and incoming webhooks only.
  • Never moves money, issues payouts, or reads bank account details.
  • Never sees full card numbers; providers do not expose them.
  • Never sends your customer data to the AI model: Ask and the daily insight see aggregates only.

Match payments to your users

ProductLense bills its own customers through Dodo Payments, so this connector is the one we use ourselves.

server: create the Dodo Payments checkout
// Add to the body of your subscription or payment create call:
const body = {
  customer: { email: user.email, name: user.name },
  metadata: { pl_user_id: user.id },
  // product_id, billing, ...
};

Dodo Payments and ProductLense: questions

Does ProductLense work with Dodo Payments?
Yes. ProductLense connects to Dodo Payments with aPI key, webhook secret, backfills 12 months of history, and stays current through signed webhooks plus a nightly reconcile. One connection is included on Starter; Growth and Scale allow every provider at once on the same site.
What data does ProductLense read from Dodo Payments?
Customers, subscriptions, payments, refunds and fees, read-only. Payments: payments. Refunds: refunds, plus disputes recorded as chargebacks. Fees: total amount minus settlement amount when both are in the same currency; otherwise tax only.
Can ProductLense change anything in my Dodo Payments account?
No. ProductLense only makes read calls and receives webhooks. It never creates, changes, refunds or cancels anything, never moves money, and never sees card numbers. Credentials are encrypted at rest, and the AI features only ever see aggregated numbers, never your customers’ data.
How does ProductLense match Dodo Payments payments to visitors?
ProductLense bills its own customers through Dodo Payments, so this connector is the one we use ourselves. Your site calls identify with the same user id after signup, and ProductLense follows the payment to that visitor’s first touch: source, medium, campaign and landing page.
How are Dodo Payments fees and taxes handled?
Dodo Payments is a merchant of record: it sells to your customer, collects and remits sales tax and VAT, and pays you the rest. ProductLense records the amount the customer paid and the part the merchant of record kept as the fee, so profit is based on what reaches you. Total amount minus settlement amount when both are in the same currency; otherwise tax only.

Connect Dodo Payments and see revenue by channel today.

Add the script, connect Stripe or any of 14 other billing providers, and see revenue by channel the same day.