Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Versioning
Changelog
Upgrade your API version
Upgrade your SDK version
Essentials
SDKs
API
Testing
Stripe CLI
Sample projects
Tools
Workbench
Developers Dashboard
Stripe Shell
Stripe for Visual Studio Code
Features
Workflows
Event destinations
Stripe health alertsFile uploads
AI solutions
Agent toolkit
Model Context Protocol
Security and privacy
Security
Privacy
Extend Stripe
Build Stripe apps
    Overview
    Get started
    Create an app
    How Stripe Apps work
    Sample apps
    Build an app
    Store secrets
    API authentication methods
    Authorization flows
    Server-side logic
    Listen to events
    Handle different modes
    Enable sandbox support
    App settings page
    Build a UI
    Onboarding
    Distribute your app
    Distribution options
    Upload your app
    Versions and releases
    Test your app
    Publish your app
      App review requirements
    Promote your app
    Add deep links
    Create install links
    Assign roles in UI extensions
    Post-install actions
    App analytics
    Embedded components
    Embed third-party Stripe Apps
    Migrating to Stripe Apps
    Migrate or build an extension
    Migrate a plugin to Stripe Apps or Stripe Connect
    Reference
    App manifest
    CLI
    Extension SDK
    Permissions
    Viewports
    Design patterns
    Components
Use apps from Stripe
Partners
Partner ecosystem
Partner certification
HomeDeveloper resourcesBuild Stripe appsPublish your app

Stripe Apps quality requirements

Learn about the quality requirements for Apps on the App Marketplace.

App Review Requirements

This page supplements the marketplace guide, which is your primary resource for preparing your app for app review. This guide contains requirements that are more qualitative in nature compared to the marketplace guide. Use this page as an app review pre-submission checklist.

Transparent pricing

  • Do: Clearly state pricing without hidden costs, and align with off-marketplace pricing.
  • Don’t: Surprise users with post-install fees or inconsistent pricing.

Date Formatting

  • When abbreviating months, use the 3-letter abbreviation and no period. For example, “Jan,” Feb," Mar," Apr," May," “Jun.”
  • When writing out the month name, day, and year, use a comma between the day and the year. For example, “January 3, 2021” or “Jan 3, 2021.”
  • When only writing the month and year, don’t use a comma. For example, “January 2021” or “Jan 2021.”

Time Formatting

Format time as follows: Use the 12-hour clock. Indicate ante meridian (AM) and post meridian (PM) with all caps and a space after the last number. Use two digits for minutes. For example: “3:25 PM” or “10:00 AM."

App settings

  • Clearly distinguish between required and optional settings in your app.
  • Provide one clear way to save changes to app settings.

Sandbox support

Your app manifest must specify whether your app supports installation in a sandbox environment. If set to false, your app won’t be available for installation in sandboxes.

App functionality

Apps must be useful for businesses, accurate in calculations, and process payments through Stripe unless approved in writing otherwise.

Developer standards

Accurately represent your value proposition on your website, including valid contact information and compliance with Stripe’s restricted businesses.

If republishing your app

  • Make sure that your app functions without interruption for users from version to version. Make sure your app doesn’t cause breaking changes that require user intervention when upgrading.
  • Don’t publish the same app under different names or categories. Submit new versions of an app from the same account as the previous version. Contact Stripe Support if this isn’t possible and you need assistance.

UX quality

  • Don’t include ads.
  • Use consistent language and style throughout your app, and use the active voice.
  • Make sure navigation clearly indicates the user’s current location within the app drawer. Prevent dead ends by including options such as Cancel or Go Back.
  • Provide confirmation dialogs for any costly or destructive actions that aren’t easily reversible.
  • Handle all loading states and display clear, descriptive error messages.
  • Use high-quality visuals (such as icons and illustrations) to help users understand how to use the app or a specific feature.
  • Use concise and descriptive labels for buttons and links.
  • Display notices when critical information requires the user’s attention.

Security

  • You must properly store secret materials required by UI extensions using the Secret Store API
  • Your app code must comply with all applicable export control laws. Specifically, don’t include any custom cryptographic functions in your app. Custom cryptography is subject to the International Traffic in Arms Regulations (ITAR), and exporting such code outside the United States can result in severe penalties. Always use cryptographic functions provided by standard libraries or well-established open source libraries that have been properly vetted.

Legal compliance

  • Use assets you have permission to use, adhere to data locality laws, avoid spam, and comply with export controls.
  • Your app can only use user data and API endpoints that are required for existing app functionality that you clearly communicate to users. You can’t resell or publish any data obtained from Stripe users through your app.
  • Avoid engaging in illegal activities or misrepresenting your business. Check your business against our list of Prohibited and Restricted Businesses.
  • Your company or you as a developer can’t be based in a country Stripe can’t engage with because of embargo or other restrictions.
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc