This is the technical companion to the RevenueCat affiliate overview. If you want the "why" and the pricing, start there; this page is the "how".
RevenueCat has no built-in affiliate feature, but its webhook is the ideal foundation for one. The integration is three moves: the InfluTo SDK writes the creator's referral code as a RevenueCat subscriber attribute (influto_code); you add InfluTo as a webhook integration in the RevenueCat dashboard; InfluTo then reads three event types — INITIAL_PURCHASE, RENEWAL, CANCELLATION — to create conversions, accrue recurring commission, and keep payouts honest through refunds. Test it end to end with a sandbox purchase before inviting creators.
An affiliate program pays real money, so the trigger for commission must be something neither the client device nor the creator can fake. RevenueCat's webhook has exactly the right properties:
It's server-to-server. Events originate from RevenueCat's backend after it has validated the underlying store transaction. Nothing in your app binary can forge one.
It already covers both stores. One webhook carries iOS and Android subscription events in one format, so the affiliate layer doesn't care which store the receipt came from.
It carries subscriber attributes. This is the hinge of the whole integration: arbitrary key-value pairs you set on a user travel with every event about that user.
On InfluTo, this is one of two supported verification paths — the other is direct App Store Server API / Google Play receipt validation for apps without RevenueCat. You pick exactly one per app, never both: two sources of truth for the same money is how double-counting bugs happen.
Step by step through one referred user's life:
The code reaches the SDK. A creator shares their code. The user installs your app and the code reaches the SDK — typed in, or carried by the referral link.
The SDK tags the user in RevenueCat. The InfluTo SDK writes it as the influto_code subscriber attribute in RevenueCat. From this point the creator's identity travels with the user inside RevenueCat itself. Clicks on the creator's link were already deduplicated and fraud-flagged on InfluTo's side; the code match, though, is deterministic — no fingerprinting, no IDFA, no ATT prompt.
The webhook fires; the conversion is created. When the user subscribes, RevenueCat validates the store transaction and fires the webhook. InfluTo reads influto_code off the event, matches the creator, and creates the conversion.
INITIAL_PURCHASE. The user's first subscription transaction. This creates the conversion and locks the commission rate: the rate at subscription start is the rate for that subscriber's lifetime, so mid-campaign rate changes never silently reprice a creator's existing subscribers. One critical detail: check the event's period type. A trial start arrives as INITIAL_PURCHASE too, and a trial is not revenue — no commission accrues on it.
RENEWAL. The recurring engine. Every renewal event adds one commission accrual for the matched creator. This is also where a trial user becomes commissionable: when the trial converts to paid, the paid transaction shows up and commission starts. The rule that keeps everything honest is simple — commission follows verified money, so creators earn on trial conversions, never trial starts. That also means creators can't farm commission by driving throwaway trial signups, which protects your escrow and your data.
CANCELLATION. The honesty mechanism. Auto-renew switched off means renewals stop arriving, and accrual stops with them. A refund means money you were charged commission on has reversed — which is why InfluTo holds commission through the refund window before it becomes payable. The hold means a refunded subscription simply never pays out; you don't chase a creator to return money that already left. (Expiration events close the loop when access actually ends.)
Install the SDK and set the attribute. Swift, Kotlin, Flutter or React Native/Expo — open source at github.com/influto, about 5 minutes. The SDK handles writing influto_code; you just pass it the code the user arrived with. Exact snippets per platform: docs.influ.to/integrations/revenuecat.
Add the webhook in RevenueCat. In the RevenueCat dashboard, add InfluTo as a webhook integration with your endpoint URL and authorization header. RevenueCat supports multiple webhook integrations per project, so your existing webhooks keep working untouched. Treat the auth header as a secret; InfluTo rejects unauthenticated events, and you can rotate the secret if it leaks.
Test in sandbox. RevenueCat marks every event with its environment, so sandbox purchases are distinguishable from production ones. Run your app against a sandbox store account, apply a test referral code, complete a sandbox subscription, and watch the attributed conversion appear. If you've connected an AI agent via MCP, influto_integration_status reports exactly which pieces the platform has seen — SDK activity, webhook events, attributed test conversions — and influto_test_integration runs the check live. Don't skip this: a program that's silently broken on launch day burns creator trust you won't get back.
Go live. Fund the escrow wallet (refundable, via Stripe), create the campaign, invite creators. From here the pipeline is autonomous: events arrive, commission accrues, Stripe Connect pays creators from the wallet with a $1 minimum. Setup free, 10% platform fee on commissions.
claude mcp add --transport http influto https://influ.to/mcpNothing about your existing RevenueCat setup moves. Entitlements, offerings, paywalls, your current webhooks and analytics — all untouched. RevenueCat remains your revenue source of truth; the affiliate layer is one subscriber attribute plus one additional webhook consumer. If you ever remove it, you delete the webhook integration and the attribute writes, and your subscription stack is exactly as it was. The shorter product-level summary lives on the RevenueCat integration feature page, linked below — and you can set it up free today.
One subscriber attribute, one webhook, one sandbox test. Free to set up — 10% only on commissions creators actually earn.
Start free