Documentation Index

Fetch the complete documentation index at: https://docs.viewlift.com/llms.txt

Use this file to discover all available pages before exploring further.

Credit Card Payments on Mobile Apps

Prev Next

Overview

The Stripe Payments feature allows you to integrate Stripe's flexible payment processing directly into your iOS and Android applications. This provides an alternative to native In-App Purchases (IAP), enabling broader payment method support, lower transaction fees, and a consistent billing experience across web and mobile platforms. While Apple and Google typically mandate native IAP for digital goods, Stripe integration is achieved through secure web views or external browser redirects. This ensures compliance with store policies while giving users more ways to pay, such as via credit/debit cards and global wallets.

Key Capabilities:

  • Flexible Payment Flows: Support for three distinct configurations: IAP-only, Stripe-only, or a hybrid "User Choice" model.

  • Global Payment Support: Leverage Stripe’s extensive range of international payment methods beyond what native stores offer.

  • In-App Subscription Management: Users can change, cancel, or renew subscriptions directly within the app’s "Billing and Subscriptions" section via Stripe-hosted portals.

  • Real-Time Syncing: Subscriptions purchased via Stripe are immediately synced to the user’s account and accessible across all devices (Mobile, Web, CTV).

  • Promo Code Support: Native support for Stripe offer and promotion codes during the checkout process.

How it Works

User Experience by Platform

The implementation differs slightly between iOS and Android to maintain compliance and optimize conversion:

  • Android: When a user selects a plan, the app opens a secure in-app web view. In supported regions, users may see a "User Choice" prompt to select between Google Play Billing or Stripe.

  • iOS: Upon selecting a subscription, the app redirects the user to their external mobile browser (Safari) to complete the Stripe transaction. Once finished, a universal link seamlessly returns the user to the app as a subscribed member.

For Stripe-billed users, the "Account Settings" menu provides direct links to manage their subscription:

  • Upgrades/Downgrades: Users are redirected to an external link to modify their plan.

  • Cancellations: Includes a built-in "Cancellation Reason" collection (e.g., "Too expensive," "Found an alternative") to help track churn.

  • Pausing: Supports pausing subscriptions indefinitely or until a set date, suspending billing while maintaining account data.

Configuration

CMS Setup

Admins can manage the payment experience through the ViewLift App CMS:

  1. Enable Alternate Billing: Navigate to App CMS > Settings > Monetisation Config and toggle "Enable Alternate billing" for Android or iOS.

  2. Platform Specifics: To enforce Stripe-only payments, navigate to Payment Config and remove the IAP platform support for the desired OS.

  • Stripe Webhooks: Must be configured to listen for events like subscription_created, renewed, or canceled to ensure the backend stays in sync.

  • Store Entitlements: iOS apps must apply for the StoreKit Purchase Link Entitlement from Apple and configure the static external payment URL in the app's info.plist.

Business Rules

  • Compliance: Stripe must be positioned as an alternative or external option for digital goods to comply with Apple and Google’s anti-steering policies.

  • Geographic Fallback: If Stripe or alternate billing is not supported in a specific region, the app should automatically fall back to the native IAP method to ensure no loss in conversion.

  • Guest Checkout: Unauthenticated users must sign up or log in before initiating the Stripe payment flow to ensure the subscription is tied to a valid account.