Skip to content

Releases: stripe/stripe-terminal-react-native

v0.0.1-beta.29

06 Mar 14:18
78f416b

Choose a tag to compare

RN SDK beta.29 release to pick up latest native SDK changes:

iOS and Android native SDKs are upgraded to 5.1.1.

  • iOS changelog:
  • Android changelog
  • React Native version updated to 0.82.
  • Minimum iOS deployment target updated from iOS 14.0 to iOS 15.0. (from native 5.0.0)
  • Android Tap to Pay now requires that your Android device's KeyStore supports hardware-backed key agreements (FEATURE_HARDWARE_KEYSTORE version 100+) and Android 13 (API 33) as a minimum OS version. (from native 5.0.0)

Preview

  • Discover card acceptance for Tap to Pay on Android (Public Preview).
  • Simulated reader support for Mail Order / Telephone Order (MOTO) transactions.
  • QR-based payment support on mobile readers (Public Preview)

Breaking Changes

  • Customer cancellation is now enabled by default on supported readers. The previous enableCustomerCancellation boolean has been replaced with a customerCancellation parameter accepting ENABLE_IF_AVAILABLE (default) or DISABLE_IF_AVAILABLE. If your integration previously relied on customer cancellation being off, you must explicitly set DISABLE_IF_AVAILABLE.
  • Error handling has been completely redesigned. The SDK now provides a structured StripeError interface with standardized error codes, rich metadata (including decline codes, payment intent state), and TypeScript type safety. The legacy CommonError enum (Failed, Canceled, Unknown) has been removed. See the Error Handling section in README.md for details.
  • collectRefundPaymentMethod, cancelCollectRefundPaymentMethod, confirmRefund, and cancelConfirmRefund have been replaced by processRefund and cancelProcessRefund.
  • Interac refunds using a PaymentIntent ID now require the PaymentIntent's clientSecret parameter. You can alternatively continue using the charge ID, which doesn't require clientSecret.
  • Stripe Reader P400 support has been removed.
  • Android Tap to Pay: Production environments now fail reader discovery with TAP_TO_PAY_INSECURE_ENVIRONMENT if developer options, USB/Wi-Fi debugging, or other debug options are enabled on the device. This does not apply to simulated readers.
  • connectReader API simplified: discoveryMethod has been moved from a separate second parameter into ConnectReaderParams, consolidating connection configuration into a single object.

New

  • Simplified payment integration: Introduced processPaymentIntent and processSetupIntent methods that combine the collect and confirm steps into a single operation. The existing collectPaymentMethod/confirmPaymentIntent and collectSetupIntentPaymentMethod/confirmSetupIntent methods continue to work but the unified methods are recommended.
  • Streamlined connection with easyConnect: New easyConnect API combines reader discovery and connection into a single method call for smart readers and Tap to Pay integrations. Added DiscoveryFilter type to filter internet reader discovery by reader ID or serial number.
  • AppsOnDevicesTokenProvider for serverless Apps-on-Devices mode where we don’t have to provide a token. "Handoff" has been renamed to "Apps on Devices" across all class names.
  • RECONNECTING connection status: A new connection status value is now emitted during auto-reconnect operations for mobile readers (Bluetooth/USB) and Tap to Pay readers, providing better observability into reconnection state.
  • Added missing requiredForOffline and lowBatterySucceedConnect in SimulateUpdateType.

Fixes

  • iOS: Fixed a crash that could occur when calling disconnectReader with internet-connected readers (from native 5.1.1).
  • Android: Updated TLS root certificates for Stripe domains (from native 5.1.1).
  • Android: Fixed missing ProGuard configuration rules affecting Tap to Pay compilation (from native 5.1.0).
  • Android: Fixed unexpected reader disconnects when cards cannot be properly read (from native 5.1.0).
  • Android: Fixed issue preventing simulated Tap to Pay reader usage (from native 5.1.0).
  • Android: Added missing processing status in PaymentIntent.
  • iOS: Fixed magstripe data collection errors on smart readers (from native 5.0.0).

v0.0.1-beta.28

17 Nov 17:44
a2230a6

Choose a tag to compare

RN SDK beta.28 release to pick up latest native SDK changes:

iOS and Android native SDKs are upgraded to 4.7.x.

New

  • Support for PayNow, a popular payment method in Singapore, is now available for Terminal smart readers in public preview.
  • Support for PayPay, a popular digital wallet in Japan, is now available for Terminal smart readers in private preview.
  • If you are interested in joining this preview, please contact Stripe support.
  • Added support for S710 production and S710 devkit readers.
  • Improved visibility into mobile reader disconnects by exposing a new disconnect reason: DisconnectReason.BLUETOOTH_PEER_REMOVED_PAIRING_INFORMATION. This is returned when the mobile reader’s Bluetooth pairing has been cleared, leading to a disconnect.
  • Support for Interac on Tap to Pay on Android is now available in public preview

Fixes

  • Android: Addresses page alignment issue to fully support 16KB page sizes, as required by Google.
  • Android: Fixes an issue that caused the "Application Not Responding" (ANR) error that occurred during Terminal SDK initialization on certain Android devices.
  • Android: Resolves compatibility issues with kotlinx.datetime 0.7.0+, which may have impacted users using expo-dev-launcher.

What's Changed

New Contributors

Full Changelog: v0.0.1-beta.27...v0.0.1-beta.28

v0.0.1-beta.27

23 Sep 19:17
f02f9e1

Choose a tag to compare

iOS and Android native SDKs are upgraded to 4.6.x.

New

Update

Fixes

  • Fixed an issue where the surcharge amount was not being correctly passed through to the reader's payment confirmation request.

What's Changed

New Contributors

Full Changelog: v0.0.1-beta.26...v0.0.1-beta.27

v0.0.1-beta.26

23 Jul 20:50

Choose a tag to compare

New

Fixes

  • Fixed surcharge amount not being passed through to the reader's payment confirm request.
    • If you are interested in joining this preview, please reach out to Stripe support.

What's Changed

Full Changelog: v0.0.1-beta.25...v0.0.1-beta.26

v0.0.1-beta.25

22 May 18:13
ab88079

Choose a tag to compare

Preview

New

  • Added support for collecting on-screen inputs with simulated internet readers.
  • Added support for accepting offline payments with simulated mobile and internet readers.
  • Added support for specifying captureMethod in PaymentMethodOptions.
  • On-screen PIN entry is now generally available on Tap to Pay Android.

Updates

  • PaymentMethodDetails now includes CardDetails in support of MOTO payments.
    • Note for internet reader integrations, this feature requires reader software version 2.31 or later to be installed on your internet reader.
    • Known bug: In this release type support for CardDetails is not included, and will be added in the next release.

Fixes

  • Refined connectReader param types to address #912.

What's Changed

New Contributors

Full Changelog: v0.0.1-beta.24...v0.0.1-beta.25

v0.0.1-beta.24

01 Apr 18:26
9f52d56

Choose a tag to compare

  • iOS and Android native SDKs are upgraded to 4.1.0.
  • Official support for React Native v0.76 with the New Architecture.
  • Adds support for apps built with targetSdkVersion = 35 targeting Android 15 devices.
  • Minimum deployment target updated from iOS 13.0 to iOS 14.0.

Preview

  • Affirm support for smart readers is now available in private preview.
  • collectData will be supported on Smart readers.
    • Note: This feature requires reader software version 2.28 or later to be installed on your smart reader.
    • If you are interested in joining this preview, please email terminal-collect-data@stripe.com.
  • Mail order / telephone order (MOTO) payment support for smart readers.
    • Contact Stripe support to enable this feature on your account.

New

  • Global card saving after payment support by updating customer consent capture. The following breaking changes are required:
  • Removed the customerConsentCollected parameter from collectSetupIntentPaymentMethod and replaced it with allowRedisplay.
  • Added a new enum value DISCOVERING to ConnectionStatus to represent when discovery is running.
  • Added cancelConfirmPaymentIntent, cancelConfirmSetupIntent, and cancelConfirmRefund methods, which allow you to cancel the operation in certain scenarios, such as QR Code payment presentment.
  • Added support for operating offline with simulated mobile readers.

Updates

  • [Breaking change] There is now a single connectReader method for all connection types. This replaces the previous methods: connectBluetoothReader, connectUsbReader, connectInternetReader, connectLocalMobileReader, and connectHandoffReader.
  • Auto reconnect on unexpected disconnect is now enabled by default for mobile readers and Tap to Pay readers. When auto-reconnect on unexpected disconnect is enabled, both didDisconnect and didFailReaderReconnect methods will be called if the SDK fails to reconnect to the reader and it becomes disconnected.
  • If a new ‘reader discover’ operation is initiated while one is already in progress, the SDK will now cancel the ongoing operation with a CANCELED_DUE_TO_INTEGRATION_ERROR error and start the new operation.

Tap to Pay

  • Tap to Pay on Android: SafetyNet Attestation API has been removed and replaced with Play Integrity API.
  • The collectPaymentMethod and collectSetupIntentPaymentMethod now time out after 60 seconds for Tap to Pay on Android transactions.
  • "Local Mobile" has been renamed to "Tap To Pay" in all function names and error codes to align with Stripe branding.

Fixes

  • Fixed an issue where, if the SDK was initialized offline and a user immediately attempts to pair a reader offline, the first attempt fails with "The selected reader requires a software update", despite the reader being up-to-date.
  • Calls to collectSetupIntentPaymentMethod now updates the provided SetupIntent with the correct status of REQUIRES_CONFIRMATION, instead of REQUIRES_PAYMENT_METHOD.

What's Changed

New Contributors

Full Changelog: v0.0.1-beta.23...v0.0.1-beta.24

v0.0.1-beta.23

18 Nov 21:39
f08d724

Choose a tag to compare

Changelog

What's Changed

New Contributors

Full Changelog: v0.0.1-beta.22...v0.0.1-beta.23

v0.0.1-beta.22

27 Sep 01:11
66aaac6

Choose a tag to compare

Changelog

What's Changed

Full Changelog: v0.0.1-beta.21...v0.0.1-beta.22

v0.0.1-beta.21

13 Sep 16:36
8183c75

Choose a tag to compare

Changelog

  • Fix #807: Upgraded iOS SDK to v3.8.3, as versions v3.7.0 and lower were susceptible to a crash on iOS 18 when accepting payments with paymentIntent.amount greater than 99999 (e.g. USD charge of 999.99).
  • Fix #789: Improved reader connection call refresh handling to address timeouts when initializing the SDK.

What's Changed

Full Changelog: v0.0.1-beta.20...v0.0.1-beta.21

v0.0.1-beta.20

24 Jul 15:59
a1073bd

Choose a tag to compare

What's Changed

Full Changelog: v0.0.1-beta.19...v0.0.1-beta.20