## Stripe Apps: Building and Managing Integrations

This documentation set provides comprehensive guidance on developing, deploying, and managing **Stripe Apps**, a platform that allows developers to extend Stripe's functionality and integrate with third-party services.

The core of this documentation revolves around the **Stripe Apps platform**, which enables the creation of custom user experiences within the Stripe Dashboard and facilitates orchestration with the Stripe API.

### Key Areas of Focus:

*   **Getting Started with Stripe Apps:** Learn the fundamentals of app development, including building, previewing, and updating your first Stripe app. (Page 18)
*   **App Architecture and Development:**
    *   Understand how Stripe Apps work, including their core components and different app types (backend, frontend, full-stack). (Page 21)
    *   Explore common use cases and how to build apps for them. (Page 14)
    *   Implement server-side logic for robust backend processing. (Page 6)
    *   Build custom user interfaces within the Stripe Dashboard using UI extensions. (Page 17)
    *   Learn about the UI extension system and how it differs from standard React applications. (Page 22)
    *   Utilize the comprehensive library of UI components to build your app's interface. (Page 49)
*   **Authentication and Authorization:**
    *   Understand the different API authentication methods available, including Platform keys, OAuth 2.0, and Restricted API Keys (RAKs). (Page 2)
    *   Dive deep into OAuth 2.0 for authenticating requests. (Page 3)
    *   Learn how to use Restricted API Keys for secure authorization. (Page 4)
    *   Implement authorization flows, including PKCE OAuth workflows. (Page 39)
    *   Securely store and manage sensitive credentials and tokens using the Secret Store API. (Page 46)
*   **App Configuration and Management:**
    *   Configure your app's behavior and settings through an app settings page. (Page 45)
    *   Define how your app integrates with the Stripe platform using the app manifest. (Page 35)
    *   Manage app versions and releases to ship updates and track changes. (Page 117)
    *   Enable sandbox support for testing and evaluation. (Page 12)
    *   Handle different operational modes (live and sandbox) for your app. (Page 19)
    *   Enable local network access for app previewing. (Page 11)
*   **Distribution and Deployment:**
    *   Explore various distribution options for your Stripe Apps, including public and private distribution. (Page 20)
    *   Learn how to publish your app to the Stripe App Marketplace. (Page 24)
    *   Understand the app review requirements to ensure quality and compliance. (Page 25)
    *   Generate and use install links to allow users to install your app outside the App Marketplace. (Page 23)
    *   Test your app externally before publication. (Page 26)
    *   Upload and install your Stripe App for team members. (Page 115)
*   **User Experience and Design:**
    *   Follow design patterns to create intuitive and consistent user experiences. (Page 95)
    *   Implement effective onboarding flows for new users. (Page 29, Page 101)
    *   Design clear and engaging UI elements using provided components and guidelines. (Page 114)
    *   Learn about styling your app to match Stripe's design language. (Page 113)
    *   Utilize specific UI components for various design needs, such as Accordions, Badges, Buttons, Charts, Forms, and more. (Pages 50-94)
    *   Implement navigation within the Dashboard using route descriptors. (Page 43)
    *   Create deep links to guide users to specific parts of your app. (Page 8)
    *   Understand how to use roles in UI extensions to tailor functionality. (Page 116)
    *   Implement post-install actions and configurations. (Page 40)
    *   Explore design patterns for specific scenarios like action buttons, back links, communicating state, empty states, loading indicators, progress stepping, redirects, sign-in, sign-out, and waiting screens. (Pages 96-112)
*   **Migration and Legacy Information:**
    *   Understand the deprecation of legacy extensions and the transition to Stripe Apps. (Page 1)
    *   Learn how to migrate existing extensions to Stripe Apps. (Page 27)
    *   Guidance on migrating plugins to Stripe Apps or Stripe Connect, including specific instructions for OAuth 2.0 and RAK authentication. (Pages 31, 32, 33)
*   **Tools and Resources:**
    *   Leverage the Stripe Apps CLI for managing your app development workflow. (Page 36)
    *   Utilize UI extension developer tools for type checking, linting, and testing. (Page 47)
    *   Explore sample apps to get started with practical examples. (Page 44)
    *   Understand UI testing methodologies for your app's interface. (Page 41)
    *   Access API references for permissions, viewports, and the Extension SDK. (Pages 37, 42, 38)
*   **App Analytics:**
    *   Access and understand app analytics to monitor performance and user engagement. (Page 5)