Skip to main content
On this page

The maintained package is currently version 2.2.0. Pin the package in production and review the source changelog before every upgrade. This page summarizes integration-impacting changes verified against repository commit 0737d90237abe3bf28a41047b74cf14bc4ffcc8b; use the upstream changelog for the complete record and migration snippets.

Upgrade flow#

01 · classify
Identify your native workflow
Record React Native and Expo versions, CLI versus managed setup, adapters, wallets, fraud providers, and current native SDK pins.
02 · regenerate
Install native changes
Update the package, run Pods for CLI, or rerun Expo prebuild when config plugins or entitlements change.
03 · exercise
Test both platforms
Run the same widget, redirect, wallet, fraud, lifecycle, and accessibility matrix on Android and iOS.
04 · release
Monitor JavaScript and native layers
Correlate JS errors, native crashes, external-action handling, and authoritative payment outcomes.
Flow diagram
React Native CLIExpo prebuild1Update npm package2Project workflow3Install Pods andresolve nativebuilds4Rerun prebuild andinspect pluginoutput5Test Android and iOS6Pinned productionrelease

Notable releases#

v2.2.0 · Unified native fraud providersCurrent verified line
  • Adds DeunaFraudModule support on Android and iOS.
  • Adds Mercado Pago early background initialization and support for the documented native fraud-provider set.
  • Adds the Expo withFraudProviders config plugin.
  • Updates the underlying Android and iOS DEUNA SDK dependencies.

Initialize required providers early, verify config-plugin output, and test the missing/timeout path for every provider. Do not block all payments solely because optional device data is unavailable unless that is the explicitly approved risk policy.

v2.1.10–2.1.6 · Redirect, popup, and APM reliabilityExternal-action hardening

This line enabled required Android third-party cookies, added process-wide protection against duplicate external URL launches, fixed popup behavior, bundled versioned TypeScript types, centralized logs, and added the errorApmMissingReference error path.

Exercise repeated 3DS/APM attempts, return-to-app transitions, customer closure, and a new widget session after a failed redirect. Do not remove duplicate-launch protection in an application adapter.

v2.1.x · Native Apple Pay and Google PayNative setup required

The 2.1 line added native wallet availability and launch. React Native CLI projects must install native dependencies; Expo projects must rerun prebuild so config plugins apply required native configuration. Apple Pay also requires the application entitlement and merchant ID, and Google Pay availability depends on merchant enablement.

Follow the current wallet availability guide and the upstream changelog's toolchain notes for your exact React Native, Xcode, Android Gradle Plugin, and Kotlin versions.

v2.0.0 · Explicit in-app browser adapterMajor migration

The SDK stopped bundling expo-web-browser. Payments that require a Custom Tab or Safari View Controller now use the InAppBrowserAdapter contract. Basic WebView-compatible flows can keep the default behavior; external-wallet and redirect flows must supply and test the correct adapter.

See External redirects for the maintained interface. The adapter promise and app lifecycle must represent the browser flow accurately so the SDK does not reopen or close the wrong view.

Workflow compatibility#

ChangeReact Native CLIExpo prebuild
JavaScript-only patchInstall package and rebuild the appInstall package and rebuild the app
Native SDK dependencyInstall Pods and resolve Android dependenciesRerun prebuild, inspect generated native projects, then rebuild
Wallet supportConfigure entitlements and native dependencies manuallyConfigure app settings and rerun the wallet config plugin
Fraud providerAdd required native setup and Pods/subspecsConfigure the provider and rerun withFraudProviders
In-app browser adapterInstall and wire the selected native browser packageInstall the compatible package and regenerate when native configuration changes

Regression checklist#

  • TypeScript compile plus clean Android and iOS native builds.
  • Upgrade from the currently shipped application, not only a clean install.
  • Payment Widget, Elements, Voucher, and Next Action in modal and embedded modes.
  • 3DS and APM redirect open, duplicate prevention, cancellation, return, and retry.
  • Apple Pay and Google Pay on physical devices with real entitlements/configuration.
  • Every enabled fraud provider after cold start and during delayed initialization.
  • Fast Refresh, background/foreground, process recreation, screen unmount, and controller disposal.
  • Small screens, font scaling, screen readers, keyboard navigation, and reduced motion.
  • Backend reconciliation after all success, error, and close callbacks.