Skip to main content

Compatibility

Supported versions and upgrade notes.

Peer dependencies

  • react* (compatible with current React 18/19)
  • react-native* (0.70+ recommended)
  • react-native-nitro-modules>= 0.36.0 (required)
  • expo>= 53.0.0 (if using Expo; tested with SDK 57 / React Native 0.86)
  • Android minSdkVersion26+ (required for Nitro Modules prefab)

Install the correct Nitro version first; the payment library depends on it.

  • React Native 0.70 or newer (0.86 with Expo SDK 57)
  • Expo 53–57 when using Expo

Expo plugin behavior

  • merchantIdentifier — Optional in the plugin config. If omitted, Apple Pay entitlements are not added (use for Android-only or when you add Apple Pay later).
  • enableGooglePay — Defaults to false. Set to true to enable Google Pay on Android.

Platform support

PlatformApple PayGoogle Pay
iOSYes (ApplePayButton, usePaymentCheckout, HybridPaymentHandler)N/A (use Google Pay on Android)
AndroidN/AYes (GooglePayButton, usePaymentCheckout, HybridPaymentHandler)

Use Platform.OS (or equivalent) to render the correct button and to pass platform-specific config (e.g. Google Pay options only on Android).

Breaking changes and migrations

0.0.16

  • Regenerated Nitrogen bindings for react-native-nitro-modules 0.36+ (Expo SDK 57 / React Native 0.86).
  • Peer dependency react-native-nitro-modules is now >= 0.36.0 (was >= 0.35.0).
  • Example app upgraded to Expo SDK 57 (React Native 0.86, React 19.2.3).

0.0.15

  • Regenerated Nitrogen bindings for react-native-nitro-modules 0.35+ (JavaPart/CxxPart JNI model).

  • Peer dependency react-native-nitro-modules is now >= 0.35.0 (was >= 0.31.4).

  • Android minSdkVersion 26+ is required (Nitro Modules prefab). Set minSdkVersion to at least 26 in expo-build-properties or your app's build.gradle.

  • Consumers on nitro 0.31.x must stay on 0.0.14 or upgrade nitro-modules first.

  • Check the package changelog or GitHub releases for version-specific notes.

  • When upgrading, run npx expo prebuild --clean and re-test on both platforms.

  • If you use TypeScript, run bun run typecheck (or your typecheck script) after upgrading.

FAQ

Do I need Expo?
No. The library works in bare React Native too. The Expo plugin only simplifies adding Apple Pay entitlements and Google Pay metadata; in a bare project you configure those in Xcode and Android Studio yourself.

Can I use only Apple Pay or only Google Pay?
Yes. Omit enableGooglePay (or set false) for iOS-only; omit plugin merchantIdentifier for Android-only. In code, only render the button for the platform you support.

Which gateways are supported for Google Pay?
Any gateway that supports the Google Pay API and the gateway token format. Commonly used: Stripe, Braintree, Square, Adyen, Authorize.net, Checkout.com. Set googlePayMerchantId, googlePayGateway, and googlePayGatewayMerchantId accordingly.

Where do I report issues?
GitHub Issues.