Skip to main content

Overview

ZeroSettle integrates with RevenueCat’s paywall system through a simple checkout flow. No SDK integration or Swift code changes are required—simply add a custom checkout button to your paywall that directs users to the ZeroSettle payment screen.

Implementation

To enable ZeroSettle checkout in your RevenueCat paywall, add a purchase button with the “custom checkout” option that links to:
https://zerosettle.io/checkout
RevenueCat Integration That’s it! When users tap this button, they’ll be directed to a payment screen with the discount you configured in your ZeroSettle dashboard already applied.

How It Works

  1. Configure Your Discount: Set up your payment incentive discount in the ZeroSettle dashboard
  2. Add Custom Checkout Button: In your RevenueCat paywall, add a purchase button with custom checkout enabled
  3. Link to ZeroSettle: Point the button to https://zerosettle.io/checkout
  4. Automatic Discount Application: Users will see the discounted price automatically applied based on your dashboard settings
After the purchase flow completes, ZeroSettle automatically redirects users back to your app using your app’s bundle ID. Simply use the same bundle identifier, and we’ll handle the redirection with either a success or cancelled status. First, set up your URL scheme in your project’s Info section: Deep Link Configuration Add a URL Type with your app name as the URL scheme. For example, if your bundle ID is com.gaberoeloffs.divecast, use divecast as the URL scheme. Use the onOpenURL modifier to handle the callback:
import SwiftUI

@main
struct YourApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .onOpenURL { url in
                    // If your bundle ID is com.gaberoeloffs.divecast, use "divecast"
                    if url.scheme == "divecast" {
                        let status = url.lastPathComponent
                        
                        switch status {
                        case "success":
                            // Handle successful purchase
                            // Refresh subscription status, show confirmation, etc.
                            break
                        case "cancelled":
                            // Handle cancellation
                            // Return to paywall or show appropriate message
                            break
                        default:
                            break
                        }
                    }
                }
        }
    }
}

Requirements

  • RevenueCat account with paywall configured
  • ZeroSettle account with discount settings configured