Implement Restore Purchases for Your Lovable App

    Quick answer

    Lovable apps can ship to the Apple App Store with real Restore Purchases — Wanilla wraps the existing Lovable web app in a native iOS shell and wires up the native framework, so nothing has to be rebuilt in Swift.

    • Apple rejects thin web wrappers under Guideline 4.2 — native Restore Purchases is what clears review.
    • Most apps are submitted to Apple within 24 hours of kickoff; review typically takes another 24–48 hours.
    • Digital subscriptions must run through Apple in-app purchase (StoreKit 2), not web-only Stripe billing.
    Wanilla bridging Lovable web apps to native iOS with Restore Purchases

    Stop losing revenue. Wrap your AI-coded Lovable project natively and deploy to the App Store in minutes.

    Read the Docs

    The Limits of Lovable for Mobile Monetization

    Lovable apps almost always take payment through Stripe Checkout in the browser. Inside an iOS app that is an automatic rejection — Apple requires in-app purchase for digital goods and subscriptions, and the transaction has to run through StoreKit rather than your Stripe account.

    Apple requires all apps with in-app purchases to include a "Restore Purchases" button. Without it, your Lovable app will be rejected during App Review. But implementing receipt validation and purchase restoration requires server-side logic and StoreKit expertise.

    How to Implement Restore Purchases in Lovable using Wanilla

    Wanilla implements StoreKit 2 in the native layer and bridges it to your Lovable front end, so a button in your React code opens Apple's real purchase sheet. Verified entitlements are written straight back into your Lovable Supabase tables, so the same user row is correct on web and on iOS.

    Wanilla automatically includes restore purchase functionality in every app. Users can restore their purchases on new devices or after reinstalling — and it's already App Review compliant.

    Your LovableWeb AppWanilla EngineInjects Restore PurchasesNative BuildApp Store ReadyExport / ConnectStoreKit · WebKit · PushiOS App Store
    How Wanilla converts your Lovable web app into a native app with Restore Purchases

    Code Integration Example

    Wanilla handles purchase restoration end-to-end:

    • Automatic compliance — the Restore Purchases button is included in every Wanilla app, meeting Apple's requirement
    • Server-side receipt validation — Wanilla validates App Store receipts server-side to prevent fraud
    • Cross-device sync — users switching to a new iPhone or iPad can restore all their purchases instantly
    • Subscription status tracking — expired, cancelled, and active subscriptions are all handled correctly

    This is a common App Store rejection reason — Wanilla eliminates it automatically.

    Earning under $1M/year on the App Store? You qualify for Apple's reduced 15% commission. Read our full Apple Small Business Program guide →

    <!-- Add Restore Purchases to your Lovable app -->
    <script src="https://cdn.wanilla.com/sdk.js"></script>
    <script>
      Wanilla.init({
        appId: "your-app-id",
        platform: "lovable"
      });
    </script>

    Related Guides

    Once you've set up Restore Purchases, you might also want to add Adapty Alternative to Lovable or add App Store Publishing to Lovable.

    Working with other AI builders? See our guide on Restore Purchases for Base44 or Restore Purchases for Replit.

    Explore our full breakdown of Lovable App Integration.

    How to publish your Lovable app with Restore Purchases

    Submitted to Apple within 24 hours$2,995 managed launch + $199/month
    1. 1

      Connect your Lovable app

      Share the live URL of your Lovable app. Nothing is rebuilt — the existing build stays the source of truth.

    2. 2

      Wire up native Restore Purchases

      Wanilla wraps the app in a native iOS shell and injects real native Restore Purchases support, so the app is not a thin web wrapper under Apple Guideline 4.2.

    3. 3

      Prepare the App Store listing

      Bundle ID, App Store Connect record, privacy nutrition labels, screenshots, description and keywords are prepared for submission.

    4. 4

      Configure pricing and paywall

      Subscriptions and in-app purchases are created in App Store Connect and wired to StoreKit 2, with the paywall configured remotely so pricing changes need no new review.

    5. 5

      Submit to Apple and go live

      The build is submitted to App Review — typically within 24 hours of kickoff — and Wanilla handles any reviewer feedback until the app is approved.

    Lovable + Wanilla vs. Custom Native Development

    FeatureLovable Web AppCustom React NativeLovable + Wanilla
    Development TimeMinutes (AI Generated)Weeks / MonthsMinutes
    App Store Ready No Yes Yes
    Restore Purchases Support❌ Web only (Stripe)✅ Native IAP✅ Native IAP
    Developer CostLowVery HighLow (SaaS)

    Frequently Asked Questions

    Is restore purchases required by Apple?▾
    Yes. Apple requires a visible "Restore Purchases" mechanism in all apps offering non-consumable purchases or auto-renewable subscriptions. Without it, your app will be rejected.
    Does it work across devices?▾
    Yes. Purchases are tied to the user's Apple ID and can be restored on any device signed into the same account.
    What about subscription expiration?▾
    Wanilla correctly identifies active, expired, and cancelled subscriptions during restore, only unlocking content for valid entitlements.
    Do I need to build anything?▾
    No. Wanilla includes restore functionality automatically. It's already configured and App Review compliant.

    Official Resource

    Start adding restore purchases to your Lovable app today — no native code required.

    Sign up and connect your repository today. Go from web app to the App Store in under 24 hours.

    Or see the managed launch offer — $2,995 + $199/month
    Samuel Olsson, Co-founder of Wanilla

    Samuel Olsson

    Co-founder, Wanilla

    Connect on LinkedIn