Skip to main content
Start with one transaction ID. Every revenue source posts to https://webhooks.datalyr.com, so the provider’s own webhook log already holds the status we returned.

Statuses every source returns

A 503 with Webhook secret not configured means no secret is stored for that source. The field reads as optional in some providers, but deliveries keep failing until you save one.

Statuses by source

The event exists but the value is wrong

Revenue is double counted

Pick exactly one revenue source. RevenueCat, Superwall, and Stripe each report the same mobile subscription, and we deduplicate within a source rather than across them, so your mobile revenue doubles.
Do not query event_data.order.total_price for a Shopify total. Only orders/paid is canonical, and three other topics carry the same order.

Verify

  1. Open the provider’s webhook log.
  2. Find the delivery for your transaction ID.
  3. Confirm the delivery returned 200.
  4. Open Events and filter on source.
  5. Confirm the row carries the same amount and currency.
If the provider shows 200 and Events has no row, contact support. Send the transaction ID, the provider event ID, and the delivery timestamp with its timezone. Never send an API secret.