3.1.22 - Horizon OS Support

Expo IAP 3.1.22 introduces Horizon OS support for Meta Quest devices, enabling developers to implement in-app purchases in VR applications using the same familiar API.
This release integrates Meta's Platform SDK for in-app purchases on Horizon OS, while maintaining the unified OpenIAP interface across iOS, Android, and now Horizon OS.
๐ Highlightsโ
Seamless Horizon OS Integrationโ
Expo IAP now supports Meta Quest devices running Horizon OS with zero code changes required. Simply enable Horizon mode in your configuration, and your existing purchase code works seamlessly across all platforms.
Key Features:
- โ In-app purchases (consumable and non-consumable)
- โ Subscriptions
- โ Purchase restoration
- โ Product fetching with localized pricing
- โ Purchase verification
- โ Same API as iOS and Android - no platform-specific code needed
Expo Config Plugin Supportโ
The new Horizon configuration automatically sets up your Android project for Horizon OS:
// app.config.ts
export default {
expo: {
plugins: [
[
'expo-iap',
{
modules: {
horizon: true, // Enable Horizon OS support
},
android: {
horizonAppId: 'YOUR_HORIZON_APP_ID', // Required: Your Horizon App ID
},
},
],
],
},
};
For detailed setup instructions, see the Horizon OS Setup Guide.
The plugin automatically:
- Sets
horizonEnabled=trueingradle.properties - Uses
openiap-google-horizonartifact instead ofopeniap-google - Adds Horizon Platform SDK and Billing SDK dependencies
- Configures your app with the Horizon App ID metadata
๐ฆ Getting Startedโ
To get started with Horizon OS integration:
-
Install expo-iap 3.1.22 or later:
bun add expo-iap@3.1.22
# or
npm install expo-iap@3.1.22
# or
yarn add expo-iap@3.1.22 -
Follow the setup guide: See the Horizon OS Setup Guide for detailed instructions on configuration, testing, and troubleshooting.
No Breaking Changes: All changes are additive. Existing apps will continue to work without modifications. Horizon support is opt-in via configuration.
๐ Referencesโ
Questions or issues? Let us know via GitHub issues.

