-
Notifications
You must be signed in to change notification settings - Fork 303
Description
Description
@stripe/stripe-react-native@0.59.1 fails to compile on iOS when used with Expo SDK 55 (React Native 0.83.2).
Error
PaymentMethodMessagingElementConfig.swift:45:24
value of type 'PaymentMethodMessagingElement.Appearance' has no member 'infoIconColor'
File
ios/PaymentMethodMessagingElementConfig.swift, lines 44-46:
if let linkTextColorHex = parseThemedColor(params: params, key: "linkTextColor") {
appearance.infoIconColor = linkTextColorHex // ← property does not exist
}Environment
@stripe/stripe-react-native: 0.59.1- React Native: 0.83.2
- Expo SDK: 55
- Xcode: 16.x
- iOS deployment target: 15.1
- Platform: macOS (Apple Silicon)
Root Cause
The infoIconColor property on PaymentMethodMessagingElement.Appearance was removed (or renamed) in the StripeKit iOS SDK version that ships with the CocoaPods dependencies resolved by React Native 0.83 / Expo 55. The RN bindings in v0.59.1 still reference the old property name.
Workaround
Comment out lines 44-46 in PaymentMethodMessagingElementConfig.swift using patch-package:
- if let linkTextColorHex = parseThemedColor(params: params, key: "linkTextColor") {
- appearance.infoIconColor = linkTextColorHex
- }
+ // infoIconColor removed in newer StripeKit
+ // if let linkTextColorHex = parseThemedColor(params: params, key: "linkTextColor") {
+ // appearance.infoIconColor = linkTextColorHex
+ // }This only affects the cosmetic linkTextColor → infoIcon mapping in PaymentMethodMessaging appearance configuration. Connect Embedded Components (AccountOnboarding etc.) work correctly without it.
Suggested Fix
Use #if availability check or update to the correct property name in the newer StripeKit API.