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.