Manage payment gateways and subscription walls with RevenueCat

  • RevenueCat centralizes all subscription and payment data, acting as a single source of truth and facilitating integration with the rest of the stack.
  • Simple paywalls can be combined with detailed RevenueCat events to optimize conversions and tailor messages based on context.
  • Integration with Pushwoosh allows you to trigger campaigns and journeys based on real-time subscription events, improving retention and upselling.
  • Synchronizing user IDs and properly configuring webhooks ensures that all information flows between the app, RevenueCat, and marketing tools.

RevenueCat paywalls

Mount Manage paywalls and payment gateways with RevenueCat It might seem confusing the first time you try it, especially if you're coming from "plug and play" solutions like Superwall. But if you want a solid foundation for scaling, accurately measuring your revenue, and having fine-tuned control over subscription events, it's worth taking the time to understand how RevenueCat fits into your app's stack.

The goal of this article is to help you see how to use RevenueCat to Create simple paywalls, manage subscription walls, and connect all of that to your analytics and marketing. (for example, with Pushwoosh), leveraging its role as the "single source of truth" for your payment data. We'll look at real-world examples, common problems with store reviews, how to structure your paywall, and how to capitalize on all the platform's events.

Why is RevenueCat the center of your subscription stack?

Many companies have ended up placing RevenueCat as the core of its subscription infrastructureThe main reason is that it offers a centralized point where all payment and renewal data resides, regardless of whether it comes from iOS, Android, or the web. This solves one of the biggest common headaches: having different data in each app store, in your backend, and in your analytics tool.

Using RevenueCat you get a single reliable source of information on subscriptions and billingFrom there, you can distribute that data to the rest of the tools in your stack (analytics, CRM, marketing automation, push notifications, etc.) through native integrations or via webhooks. This consistency is key when you want to segment users, run upsell campaigns, or truly understand your subscribers' behavior.

In practice, this means that your product and marketing decisions are based on consistent and unified subscription eventsInitial purchases, renewals, cancellations, payment issues, product changes, and much more. All of this can then be connected with solutions like Pushwoosh to build highly detailed, automated customer journeys.

RevenueCat vs Superwall: simplicity versus control

If you're coming from using tools like Superwall, it's normal to feel that RevenueCat is more complexSuperwall is heavily focused on setting up a visual paywall very quickly, with an almost plug-and-play approach. In contrast, RevenueCat focuses on the business layer: product management, subscription logic, events, and data.

This does not mean that you cannot create with RevenueCat simple and effective paywallsInstead, the tool focuses on controlling the "what" and "when" of subscriptions, while the "how" of the paywall is largely up to your implementation. In return, you gain enormous flexibility to integrate your paywalls with other systems and to orchestrate the entire user lifecycle.

Furthermore, RevenueCat is evolving with AI-based paywall generation tools, enabling starting from store listings, prompts, or visual references to create an initial paywall design. From that draft, you can adjust the design, text, and calls to action for each conversation and test key points before launching. This significantly shortens the gap between the business layer and the visual experience.

Payments with WhatsApp Business
Related article:
Complete guide to activating and configuring payments on WhatsApp Business

Simple paywalls: recommended structure

A common pattern in subscription apps is to have two simple but well-differentiated paywalls. For example: uterine

  • An initial paywall after onboarding, without restrictions, that presents the overall value proposition.
  • A second paywall associated with certain functionalities, with restrictions, appears when the user tries to use premium features.

In the first case, the paywall is usually more “aspirational”: You explain overall benefits, plan summaries, and the reasons for subscribing.In the second case, context dictates: the user is trying to do something specific (for example, access a premium course or an advanced feature), so you want to highlight the exact value of that feature and how the subscription unlocks that action instantly.

RevenueCat covers the part of product management, pricing, trial periods, and rights validationWhile you control the layout, text, and visual behavior of the paywall within the app. By combining this with an AI-powered paywall generator, you can quickly iterate different designs for your main paywall and the contextual feature paywall.

Common problems with subscription review in the App Store

RevenueCat paywalls

A fairly common scenario when starting with RevenueCat (or any subscription system) is the following: You submit your app for review and also submit your in-app subscription for the first timeBut the subscription is still "pending review." Meanwhile, Apple's reviewer enters your app, reaches the paywall, and... the pricing and product information doesn't load correctly because the subscription hasn't been approved yet.

The result is usually disastrous: The reviewer cannot proceed beyond the paywall And they end up rejecting the app repeatedly, since the purchase process is broken from their perspective. This creates a kind of vicious cycle where the app depends on a subscription that isn't ready yet, and the subscription depends on an app that fails review.

To minimize these types of problems, it is recommended Prepare your app to handle intermediate statesFor example, by displaying a friendly message if no products are available, adding a skip option, or offering an alternative navigation path for the reviewer. It's also advisable to clearly document in the review note what is happening and, if possible, include screenshots or steps to reproduce the expected behavior once the subscription is approved.

Another helpful tip is Do not block the entire app behind a paywall that depends on products that have not yet been approved.Leaving some content accessible or a very small functional part can help the reviewer understand the value proposition and avoid frustration from not being able to test anything. In the context of RevenueCat, also ensure your app properly handles empty responses or product upload errors.

RevenueCat as a subscription management platform

RevenueCat is defined as a platform that simplifies purchases and subscriptions within the app For iOS, Android, and the web. It handles the most sensitive parts of the subscription logic: receipt validation, status synchronization across devices, purchase restoration, trial period management, promotions, etc.

In addition, it provides Complete tools to analyze and optimize the performance of your subscriptionsThis includes metrics such as recurring revenue, retention, churn, LTV, cohort behavior, and segmentations that help you understand which plans work best, which promotions convert most, or at what point in the lifecycle most users are lost.

Its main advantage is that, by centralizing everything, it saves you from having to rewrite the same logic for each platform. Instead of dealing directly with each store's native SDKs, you rely on a single SDK that exposes a homogeneous data model and let RevenueCat handle interpreting the details of each store.

RevenueCat integration with Pushwoosh: automation and segmentation

One of the most powerful integrations in the context of paywalls and retention is that of RevenueCat with PushwooshPushwoosh is a platform for sending push notifications, in-app messages, and other types of targeted communications, and by linking it with RevenueCat you can orchestrate campaigns based on real subscription events.

The idea is simple: RevenueCat sends subscription events to Pushwoosh Through webhooks, these events become triggers for customer journeys, automations, and advanced segmentation. This allows you to encourage renewals, remind customers of plan value, suggest upgrades to higher tiers, or launch special offers at the right time, maximizing engagement and revenue.

For example, an e-learning platform can Increase engagement by sending personalized notifications when it detects a plan change. The message may include guidance on the transition, course recommendations aligned with the new subscription level, and exclusive benefits that reinforce the user's decision to upgrade.

Specific use cases of the RevenueCat + Pushwoosh integration

The range of use cases when combining subscription events with messaging campaigns It's enormous. Some common scenarios are:

  • Remember renewals and recover failed collection attempts.
  • Convert one-off purchases into recurring subscriptions.
  • Promote upgrades to premium levels with contextual messages.
  • Accompany plan changes with educational content or recommendations.

Imagine a streaming service that detects a subscription billing issueThanks to the integration, you can trigger a targeted push notification that explains the error and provides clear instructions for resolving it, such as updating the payment method. This reduces unintentional account cancellations and improves the user experience.

Another example: a food delivery service can use shopping events to transform a one-off order into a long-term relationshipAfter a purchase, you can send a push notification thanking the customer and recommending related products or presenting a subscription plan for recurring deliveries. This communication cadence helps build loyalty, generate upsales, and potentially convert one-time buyers into subscribers.

In apps with multiple subscription tiers, such as many mobile games, this integration allows Monitor each user's level and trigger personalized upgrade messagesFor example, notifications highlighting the advantages of premium levels, such as exclusive content, extra coins, or special discounts, encouraging users to upgrade their tier at the most opportune moment.

Events available in the RevenueCat integration → Pushwoosh

The integration is automatically created in Pushwoosh. a series of events as RevenueCat sends them for the first timeEach event represents a relevant action in the subscription lifecycle, and many carry useful attributes (such as price or currency) that can then be used in advanced segmentations.

These are the most relevant events that are synchronized:

  • RC_INITIAL_PURCHASE – It triggers when a user makes an initial subscription purchase. It includes attributes such as price, price_in_purchased_currency y currency.
  • RC_NON_RENEWING_PURCHASE – Indicates a purchase that will not automatically renew, very useful for products with limited access. It also includes price and currency attributes.
  • RC_RENEWAL – Represents the renewal of an existing subscription or the reactivation of an inactive user who is resubscribing. Includes new price and currency.
  • RC_PRODUCT_CHANGE – This occurs when a subscriber changes products, for example, when moving from a monthly plan to an annual plan, or from a basic level to a premium level.
  • RC_CANCELLATION – Mark the cancellation of a subscription or a non-renewable purchase, key for retention flows and win-back.
  • RC_BILLING_ISSUE – Indicates a problem when trying to charge the subscriber, such as an expired card or insufficient funds.
  • RC_SUBSCRIBER_ALIAS – It is issued every time a new one is registered app_user_id For an existing subscriber, useful for multi-device tracking.
  • RC_SUBSCRIPTION_PAUSED – Indicates that a subscription has been set to pause at the end of the current period.
  • RC_UNCANCELLATION – Notifies you of the reactivation of a subscription that was cancelled but has not yet expired.
  • RC_TRANSFER – This occurs when transactions and rights are transferred between one or more user IDs of the app to another user, which is important in migrations or account mergers.
  • RC_SUBSCRIPTION_EXTENDED – It indicates that an existing subscription has been extended, bringing forward the expiry date of the current period.
  • RC_EXPIRATION – Indicates that a customer's subscription has expired. Includes attributes such as price, price_in_purchased_currency, currency, expiration_at y purchased_at.

All these events can be used in the Pushwoosh Customer JourneysThose that carry price attributes are especially valuable to apply RFM (Recency, Frequency, Monetary) segmentation, with which you can prioritize users based on their economic value and recent activity.

User synchronization between RevenueCat and Pushwoosh

For RevenueCat events to correctly match users in Pushwoosh, it is essential align user identifiersThe recommendation is that the Pushwoosh UserID should match the App User Id of RevenueCat.

In practice, this means that you must Take the appUserID handled by the RevenueCat SDK and pass it to the Pushwoosh SDKIn this way, when RevenueCat sends an event webhook, Pushwoosh can associate it with the correct profile and activate the appropriate journeys without loss of information.

On Android, this link is made, for example, with a call like Pushwoosh.getInstance().setUserId(appUserIDFromRC);Where appUserIDFromRC This is the identifier provided by RevenueCat. On iOS, the pattern is similar, using something like [[Pushwoosh sharedInstance] setUserId: appUserIDFromRC];Once you have this correspondence and have also synchronized the HWIDs, the integration between both platforms will work consistently.

PayPal
Related article:
The best alternatives to PayPal: pay and get paid online securely and with low fees.

How to activate Pushwoosh integration in the RevenueCat dashboard

After aligning the user IDs in your SDKs, the next step is Activate the integration from the RevenueCat dashboardThe overall flow is fairly straightforward:

  1. Go to your project in the RevenueCat panel and locate the section for Integrations in the side menu. Click on “+ New” or “Add integration”.
  2. In the list of integrations, select the option Webhookssince the integration with Pushwoosh is based on this mechanism.
  3. Give the integration a recognizable name, for example "Pushwoosh", so you can easily identify it later.
  4. In the Webhook URL field, enter the path provided by Pushwoosh, something like: https://integration-revenuecat.svc-nue.pushwoosh.com/integration-revenuecat/v1/post-event?pwapp=APP_CODE. Replaces APP_CODE through your application code in Pushwoosh, which you will find under your app's name in its dashboard.
  5. In the authorization header value, paste your Pushwoosh API tokenThis token is obtained in the Settings > API Access area within your Pushwoosh account.
  6. Decide if you want to send events only from production purchases, only of sandbox (testing) or both. For initial tests it is usually useful to activate sandbox and, once everything is verified, add production.
  7. In the App dropdown, specify whether webhook events should be sent to a single specific app or for all apps in the project in RevenueCat.
  8. In the Event Type section, choose if you want send all events or just a specific subset (for example, only renewals and cancellations) depending on your communication strategy.
  9. Configure if you want them to be displayed all events, only the successful ones, or only the failed onesThis distinction can help you in debugging the integration.

Also, you have the option of launch a test Webhook directly from RevenueCat. It is highly recommended to use this feature to verify that events are correctly reaching Pushwoosh, that event templates are created automatically, and that Customer Journeys are triggered as expected.

Leverage RevenueCat to improve your paywalls

Beyond simply validating payments, RevenueCat provides a very rich context for optimizing your paywallsThanks to detailed event tracking and the ability to integrate with analytics and messaging tools, you can treat your paywall as a living element that evolves according to the real behavior of your users.

Using the information you receive from RevenueCat you can, for example, detect patterns among users who convert versus those who don'tThis data allows you to refine your ad copy, the order of benefits, the number of plans displayed, and even offer different paywall variations depending on the user segment. You can track which plans users choose, how long it takes from installation to purchase, how many reach the restricted features page, and so on.

If you add to the equation an AI-powered paywall generator capable of using your store listing content and visual references, you have a very powerful workflow: You generate an initial version of the paywall, launch it, analyze its performance using RevenueCat, and quickly adjust it. design, messages and CTAs until you find the combination that converts best.

mobile payment
Related article:
The best mobile payment apps and methods: a complete and updated guide

Taken together, combining well-designed paywalls with RevenueCat's subscription management and Pushwoosh's message automation gives you a very solid foundation for scaling a subscription business: you have centralized and reliable data, a complete lifecycle event structure, real-time targeted communication, and flexibility to test paywall variations.

While it may initially seem more impressive than ultra-simple solutions, once the stack is configured, it becomes a stable and powerful piece on which to build a truly sustainable recurring revenue model.Share this information and more users will learn about the tool..