Compliance Information
This article outlines how to integrate Stash Pay into iOS apps in compliance with Apple's requirements.
Understanding these requirements helps you align your app with Apple's guidelines and prepare for the App Store review process.
United States regulatory framework
In the United States, you can implement Stash Pay without joining the External Link Account Entitlement program, as long as you process transactions outside the app.
Apple's documentation states that SFSafariViewController is a Safari browser instance that runs independently from the app, making it an external browser solution for Stash Pay even when shown inside the app's interface.
Apple's guidelines require that when you present this view controller, it must be clearly visible to the user and not hidden or obscured.
"When you present this view controller, it must visibly present information to users. You may not hide or obscure the view controller…" — Apple documentation
Many well known platforms follow this same approach. Under current United States rules, SFSafariViewController qualifies as an external browser for Stash Pay payments. This allows digital product sales without joining entitlement programs or paying related fees. These exemptions are region-specific and also apply in Europe and other international markets.
In the United States, you can use either a browser linkout or SFSafariViewController for Stash Pay sales outside native In-App Purchases. Users must clearly see they are in a browser during payment.
Apple review process
When you submit your app to the Apple App Store, clearly document the use of Stash Pay in the review notes. This helps the Apple review team understand your integration and confirm compliance with Apple's guidelines.
Apple review process steps
Review Notes
In App Store Connect, include details on how Stash Pay is integrated into your app. Specify that transactions are processed through SFSafariViewController to show compliance with Apple's external payment guidelines.
Test Accounts
Create dedicated test accounts with Stash Pay enabled for Apple reviewers. Include working credentials in the review notes so reviewers can complete the payment flow.
User Experience
Explain in your review notes that the payment process is clearly presented to the user as occurring in a browser environment, in line with Apple's requirements.
Common Compliance Questions
Are We Doing Something Risky?
No. Stash Pay is designed to be fully compliant with Apple and Google platform requirements. The integration approaches we recommend have been used successfully by many games in production.
Reassurance: Stash Pay uses industry-standard approaches (SFSafariViewController, Chrome Custom Tabs) that are explicitly supported by Apple and Google for external payment processing. These methods are used by major platforms and are compliant with current platform policies.
Will Our App Be Rejected?
Following our integration guidelines and using the recommended presentation methods (SFSafariViewController for iOS, Chrome Custom Tabs for Android) ensures compliance with platform requirements.
Best practices to avoid rejection:
- Use Safari View Controller (iOS) or Chrome Custom Tabs (Android) for US users
- Clearly document your integration in App Store Connect review notes
- Provide test accounts with Stash Pay enabled for reviewers
- Ensure the payment flow is clearly visible to users
- Follow all integration guidelines in our documentation
Is This Compliant in All Regions?
Yes. Stash Pay is compliant globally, but the recommended presentation method varies by region:
- United States: Use Safari View Controller (iOS) or Chrome Custom Tabs (Android)
- Other regions: Standard browser linkout or Safari View Controller/Chrome Custom Tabs both work
The compliance approach is region-agnostic and works worldwide.
What About Apple's External Link Account Entitlement?
You don't need to join Apple's External Link Account Entitlement program when using Stash Pay with Safari View Controller. The SFSafariViewController qualifies as an external browser under current US regulations, allowing you to process transactions without joining entitlement programs or paying related fees.
What About Google Play's External Payment Policy?
Chrome Custom Tabs meets Google Play's requirements for external payment processing. The browser runs in an isolated environment, clearly indicating to users that payment is processed externally, which satisfies Google's policy requirements.
Can We Customize the Payment Experience?
Yes, within compliance boundaries. You can:
- Customize the Stash Pay Dialog appearance to match your game
- Style the checkout experience through Stash Studio settings
- Control when and how checkout is presented
However, you must ensure:
- The payment environment is clearly visible to users
- You don't obscure or hide the browser/payment interface
- The user experience clearly indicates external payment processing
What If Platform Policies Change?
Stash monitors platform policy changes and updates our documentation and recommendations accordingly. We recommend:
- Staying updated with our documentation
- Reviewing platform policy updates when they occur
- Testing your integration after major platform updates
- Contacting Stash support if you have compliance concerns
Do We Need Legal Review?
While Stash Pay is designed for compliance, we recommend:
- Reviewing your specific use case with legal counsel if you have concerns
- Ensuring your integration follows all local regulations
- Documenting your compliance approach for your records
The integration methods we provide are standard industry practices, but your specific business context may require additional review.
Additional Resources
- Presentation Options (iOS) - Detailed iOS integration options
- Presentation Options (Android) - Detailed Android integration options
- Troubleshooting - Common issues and solutions
How is this guide?
Authentication
Learn how to authenticate requests when integrating Stash Pay. This guide covers API key authentication for server-to-server requests and HMAC signature verification for secure backend communication.
Presentation Options (iOS)
Learn the three ways to present Stash Pay in your iOS games - system browser, Safari View Controller, or fully integrated Stash Dialog. Understand the recommended approaches for different regions.