Introduction to Unity In-App Purchasing
Understand your options for implementing Unity In-App Purchases in your game.
Read time 1 minuteLast updated 16 hours ago
Unity In-App Purchasing (IAP) provides a unified API for implementing and managing in-app purchases across multiple stores. Rather than integrating with each store's built-in SDK separately, you use a single set of IAP APIs and Unity handles the store-specific communication. Unity IAP supports built-in platform stores (Apple App Store and Google Play Store), Direct to Consumer (D2C) payment providers for off-platform transactions, and Webshop, a no-code hosted web storefront you build and manage in the Unity Dashboard. You can also implement a fully custom store by extending the IAP module system. Each store type handles the purchasing flow, payment processing, and entitlement management differently, so choosing the right store type for your application depends on your target platforms, business model, and technical requirements.
Choose a store type
The following table compares the store types available in Unity IAP to help you decide which integration fits your needs:Direct to Consumer (D2C) payment provider (Stripe or Coda) | Apple App Store | Google Play Store | Webshop | Custom store | |
|---|---|---|---|---|---|
| Supported platforms | Cross-platform (web-based checkout) | iOS, macOS, tvOS | Android | Cross-platform (browser-based storefront) | Depends on implementation |
| When to use | Selling products outside of Apple and Google stores, for example on web or in select regions where external payments are permitted | Publishing on Apple platforms using Apple's standard purchasing flow | Publishing on Android using Google's standard purchasing flow | Selling directly to players through a branded web storefront, outside of app stores | Integrating a store not natively supported by Unity IAP |
| Checkout experience | External web checkout with a deep link back to the app | Native OS purchase sheet | Native OS purchase sheet | Branded web storefront with a deep link back to the game after purchase | Custom |
| Who handles payment processing | Stripe (Managed Payments, as merchant of record) or Coda (CodaPay, as merchant of record) | Apple | Stripe or Coda (via your configured D2C payment provider) | Developer | |
| Product catalog setup | Remote Catalog (required); IAP Catalog and Codeless IAP are not supported | IAP Catalog, code ( | IAP Catalog, code ( | IAP catalog from your Unity project, configured in the Unity Dashboard | Programmatic |
| Unity Authentication required | Yes | No | No | Yes | No |
| Purchase fulfillment | SDK, backend API (webhook), or Cloud Code module | SDK ( | SDK ( | Backend API (webhook) or Cloud Code module (via configured D2C payment provider) | Custom |
| Receipt validation | Unity IAP order service; JWT-signed webhook events | Automatic (StoreKit 2); remote via | Remote server-side via receipt | Unity IAP order service and JWT-signed webhook events (via configured D2C payment provider) | Custom |
| Restore purchases | Automatic on first | Manual - Restore Purchases button required by Apple policy | Automatic on first | Automatic on first | Custom |
| Subscriptions supported | No | Yes | Yes | No | Depends on implementation |
Next steps
After you choose a store type, refer to the relevant documentation to set up your integration:- For D2C payment providers, refer to the D2C payment provider integration workflow.
- For Webshop, refer to Webshop.
- For Apple and Google stores, refer to Get started with Unity IAP.
- For custom stores, refer to Custom store modules.