Improved

Checkout SDK Updates — React Native v1.2.0, iOS v1.6.0

React Native — v1.2.0 (2026-08-04)

View on GitHub

Added

  • Click to Pay package (@spreedly/react-native-checkout-click-to-pay): Mastercard Click to Pay with a branded button, prepare flow, and custom themes. See the Click to Pay Guide.

Changed

  • spreedly_post_install(installer) now also disables Xcode 17+ explicit modules (SWIFT_ENABLE_EXPLICIT_MODULES / CLANG_ENABLE_EXPLICIT_MODULES) and pins -Onone / wholemodule Swift optimization for Stripe pods, working around a Swift 6.2.1+ compiler crash. This was previously boilerplate merchants had to copy into their own Podfile post_install; it is now applied automatically by the one-line SDK call.
  • 3DS documentation updated for developers and merchants.

Native SDK versions pinned in this release: Android checkout-android 1.3.0, iOS checkout-ios-package 1.6.0.

iOS — v1.6.0 (2026-07-30)

View on GitHub

Added

  • Click to Pay: New optional SpreedlyClickToPay module for Mastercard SRC checkout via SpreedlyClickToPayButton (SwiftUI), SpreedlyClickToPayButtonViewController (UIKit/ObjC), headless ClickToPayCheckoutController, or SpreedlyClickToPayCheckout.present(...). Configure with ClickToPayCheckoutConfig / ClickToPayButtonConfig; tokenize with createClickToPayPaymentMethod(...). Includes OTP, Remember Me, returning-user / enrollment sheet behavior, and MM/YY new-card expiry. See the Click to Pay guide.
  • Click to Pay saved-cards detector: Optional ClickToPaySavedCardsDetector runs a pre-checkout lookup so merchants can hide contact fields on recognized devices before presenting checkout.
  • Mandate passthrough: Optional mandate (SpreedlyMandate) on card, bank-account, and Click to Pay tokenization APIs and drop-ins. Opaque JSON-compatible payload encoded as payment_method.mandate; omitted when nil/empty. Never place cardholder data in a mandate.