Skip to main content

Overview

RevenueCat owns the paywall, so the only thing that changes is where you call show(). Everything else in Presenting Offers applies unchanged: the same placement call, the same handlers, the same outcome model. Pick the hook that matches how you present the RevenueCat paywall.

From PaywallView

onRequestDismiss fires when the user closes the paywall without converting:

From the presentPaywallIfNeeded modifier

Full contract: placement().

Next