Polar setup
RedChurn sits on top of Polar. You keep your existing products, checkout, and billing. RedChurn listens to webhook events and runs retention flows on email, inside your app, or both.
Before you start
You need a Polar organization with at least one product and active subscriptions. RedChurn does not replace Polar. It adds automated billing recovery, cancel saves, and win back on the channels you choose.
Create your app in the RedChurn dashboard first and select Polar as your billing provider. During onboarding, RedChurn generates a unique webhook URL for your app. You will paste it into Polar along with the signing secret Polar generates.
- A Polar organization with active subscriptions
- A RedChurn account with an app created (Polar selected as provider)
- HTTPS webhook endpoint (provided by RedChurn)
- Resend account connected if you want email flows on day one
What RedChurn reads from Polar
RedChurn reacts to subscription lifecycle events delivered through Polar webhooks. Each Polar event type maps to one of the three retention flows.
Past-due subscriptions trigger billing recovery. Cancellation and revocation events feed cancel saves and win back. Renewal and reactivation events confirm recovered subscribers so MRR impact shows correctly in your dashboard.
- subscription.past_due → billing recovery (failed payment, dunning)
- subscription.canceled → cancel save flow when a subscriber initiates cancel
- subscription.revoked → win back for subscribers who have already churned
- subscription.active / subscription.updated → outcome tracking and MRR attribution
Webhook setup
Open your Polar dashboard: Settings → Webhooks → Add endpoint.
Copy the webhook URL from RedChurn onboarding or from Dashboard → Apps → Integrations. The URL follows this pattern and must use HTTPS:
https://app.redchurn.io/api/webhooks/polar/{your-app-slug}Signing secret
After creating the endpoint, Polar displays a signing secret (starts with polar_whs_). Copy it from Polar and paste it into RedChurn under Dashboard → Apps → Integrations.
RedChurn uses Standard Webhooks signature verification to reject forged requests. Paste the raw secret value exactly as Polar shows it.
Events and delivery format
Subscribe to subscription and order events. We recommend enabling all subscription events so RedChurn can react to billing issues, cancellations, and renewals without gaps.
Set the delivery format to Raw JSON. RedChurn normalizes Polar payloads server-side and maps them to the same retention flows used across all billing providers.
- Events: all subscription events (recommended)
- Delivery format: Raw JSON
- Environment: configure production endpoints for live subscriptions
Verify the connection
After saving the webhook in Polar and pasting the signing secret in RedChurn, click Test connection. RedChurn confirms the endpoint is ready to receive deliveries.
If the test passes but live events have not arrived yet, trigger a test subscription or billing event in Polar. The dashboard updates to Connected once the first authentic webhook is received.
Start with email only
You do not need the SDK to launch billing recovery on email. Follow the Resend setup guide, verify your sending domain, then enable email sequences under Scenarios → Email.
When Polar reports a past-due subscription, RedChurn sends recovery emails from your domain on the schedule you configure. No app release required.
Add in-app flows later
Cancel saves, in-app billing dunning, and win back prompts require the React Native or Swift SDK. Install it once, pass your SDK key and subscriber ID, and all copy and offers remain editable from the dashboard.
See the React Native or Swift SDK documentation for installation and the three in-app scenarios.
What stays unchanged
RedChurn is read-only on Polar billing data. It does not modify entitlements, process refunds, or change your checkout logic. Your app keeps working normally if RedChurn is temporarily unavailable.
Polar products, checkout, and customer subscriptions continue to work exactly as before. RedChurn only adds retention automation on top.
Troubleshooting
If events are not arriving, check that the webhook URL is HTTPS, the signing secret matches exactly, and the Polar endpoint is enabled for the right event types.
If the test connection passes but flows do not trigger, confirm the relevant flow is enabled in the RedChurn dashboard and that Resend is connected for email channels.
- 401 errors: signing secret mismatch
- No events in dashboard: wrong endpoint or missing subscription events
- Email not sending: Resend domain not verified or flow disabled
- In-app not showing: SDK not installed or subscriber ID not set