Integration · Attribution and ads measurement

Send subscription events to SolarEngine

RevenueDot sends subscription events to SolarEngine as a webhook, because SolarEngine's receiving API is not public. It POSTs RevenueCat's webhook body to the URL SolarEngine support gives you, with an optional Authorization header. Every event type goes out except experiment enrollments. SolarEngine matches customers on the IDs your app sets from its SDK.

What teams do with it

  • Attribute subscription revenue to the campaigns that brought each customer.
  • Send purchases, renewals, cancellations and refunds to SolarEngine from one backend.
  • Keep sandbox purchases out of SolarEngine, which is the default, or include them with the Environment filter.

What RevenueDot sends

  • RevenueCat's webhook body, unchanged: {"api_version":"1.0","event":{...}} as JSON in a POST, with the optional Authorization header value.
  • Every event type except EXPERIMENT_ENROLLMENT, including INITIAL_PURCHASE, RENEWAL, CANCELLATION, EXPIRATION and BILLING_ISSUE.
  • Revenue fields: price in US dollars (negative for refunds), price_in_purchased_currency, currency, product_id, store and transaction_id.
  • Identity in subscriber_attributes: $solarEngineDistinctId, $solarEngineAccountId and $solarEngineVisitorId, set by your app from the SolarEngine SDK, with $idfv, $gpsAdId and $ip.
  • Production only by default, since SolarEngine documents no sandbox handling. A sandbox event that the Environment filter lets through carries environment: SANDBOX.

Setup

How to connect SolarEngine to RevenueDot

  1. 01

    Ask SolarEngine for the webhook URL

    Ask SolarEngine support for the URL that receives RevenueCat webhooks for your app.

  2. 02

    Set the SolarEngine IDs in your app

    Set $solarEngineDistinctId, $solarEngineAccountId and $solarEngineVisitorId from the SolarEngine SDK.

  3. 03

    Open the integration

    In RevenueDot, open Integrations → SolarEngine.

  4. 04

    Enter the URL

    Paste the SolarEngine webhook URL, and the Authorization header value if SolarEngine gives you one.

  5. 05

    Connect and test

    Click Connect SolarEngine, then Send test event and check the delivery log.

The SolarEngine integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

Why SolarEngine connects through a webhook

RevenueCat's SolarEngine page (checked October 2026) names the hosts and a signature but not the full request, which is not enough to build the call safely. So RevenueDot sends the webhook body and leaves the URL to SolarEngine support, instead of guessing an endpoint.

How SolarEngine deliveries are retried, logged and replayed

  • Retries: timeouts, 408, 425, 429 and 5xx answers retry after 5, 10, 20, 40 and 80 minutes. Any other 4xx fails at once, because sending the same request again cannot work. Fix the setting, then replay.
  • Delivery log: each delivery shows the request with every secret replaced by [redacted], the partner's answer, the HTTP status, the time taken and the number of attempts.
  • Skipped, with the reason: when there is nothing to send, such as a missing device ID, the delivery is marked skipped and says why. Retry sends it after your app sets the attribute.
  • Replay: Replay failed resends failed and skipped deliveries in bulk.
  • Sealed credentials: keys and tokens are encrypted with AES-256-GCM on the server and never shown again. The dashboard shows only the last four characters.
  • The URL is secret: it may carry your app key, so it is sealed like a credential and scrubbed from the delivery log.

FAQ

SolarEngine and RevenueDot

How do I send in-app purchase events to SolarEngine?

Ask SolarEngine support for the URL that receives RevenueCat webhooks for your app, paste it under Integrations → SolarEngine in RevenueDot and click Connect SolarEngine. Set the SolarEngine IDs as attributes in your app so SolarEngine can match customers.

Does SolarEngine get sandbox purchases?

Not by default. The integration sends production events only, because SolarEngine documents no sandbox handling. If you widen the Environment filter, sandbox events carry environment: SANDBOX in the body.

Why does RevenueDot use a webhook for SolarEngine?

SolarEngine's server receiving API is not public, so there is no documented request to build. The webhook body is the format SolarEngine's RevenueCat setup reads.

Is there a RevenueCat SolarEngine integration alternative?

Yes. RevenueDot sends the same webhook body that RevenueCat sends to SolarEngine's URL, from an open source backend that you can self-host. Facts about RevenueCat's setup are from its SolarEngine page, checked October 2026.

Sources: SolarEngine · RevenueCat: SolarEngine reference. SolarEngine is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send SolarEngine every subscription event.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue. Integrations are included on every plan.

Already have an account? Sign in · Prefer your own servers? Self-host free