iOS / Android Integration

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.

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

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

How is this guide?