Skip to content

Conversation

@janicduplessis
Copy link
Collaborator

Summary

When using RN with use_frameworks! :linkage => :static the build fails with 'react/utils/FollyConvert.h' file not found.

The fix is based on a similar issue in RN mapbox, which handles backwards compatibility properly: rnmapbox/maps#3937.

Motivation

Fixes #2065

Testing

  • I tested this manually
  • I added automated tests

Documentation

Select one:

  • I have added relevant documentation for my changes.
  • This PR does not result in any developer-facing changes.

@pkhc4025
Copy link

Thanks for creating this PR

Here are some reference links regarding the changes for this issue:

@janicduplessis janicduplessis merged commit cc3f0e9 into stripe:master Sep 17, 2025
48 of 54 checks passed
@janicduplessis janicduplessis deleted the @janic/fix-static-frameworks branch September 17, 2025 14:51
@DanieleSimic
Copy link

just tried stripe 0.53.0 with the fix merged by @janicduplessis and it works fine with react native 0.81.4

@Shanie1331
Copy link

Shanie1331 commented Sep 17, 2025

@janicduplessis when are we releasing the new version for these changes as I am unable to run my expo app with the same issue as 0.53.0 doesn't have these changes incorporated yet.
cc @jaynewstrom-stripe @charliecruzan-stripe

@NKANGIJAFARI
Copy link

Its abit confusing now, same packages installed and still getting the problem.
"react-native": "0.81.4",
"@stripe/stripe-react-native": "0.53.0"

@DanieleSimic
Copy link

@NKANGIJAFARI have you checked if in node_modules/@stripe/ios/NewArch/... the fixes are integrated?

most likely you still have the old commit. What i did is to put the exact commit in the package.json so i was sure it took the fixes.

package.json:
"@stripe/stripe-react-native": "git+https://github.com/stripe/stripe-react-native.git#cc3f0e9359c617c5af5000169fa185c97fa707c8",

@slacki123
Copy link

@NKANGIJAFARI have you checked if in node_modules/@stripe/ios/NewArch/... the fixes are integrated?

most likely you still have the old commit. What i did is to put the exact commit in the package.json so i was sure it took the fixes.

package.json: "@stripe/stripe-react-native": "git+https://github.com/stripe/stripe-react-native.git#cc3f0e9359c617c5af5000169fa185c97fa707c8",

I confirm, fetching the commit directly works!!!

@NKANGIJAFARI
Copy link

@DanieleSimic I confirm also, using the commit built my app. Thanks so much

mliberatore added a commit that referenced this pull request Nov 12, 2025
* Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)

This reverts commit 9b24cd8.

* Update package.json (#2105)

* Re-enable FC tests on iOS by forcing native flow (#2104)

* Re-enable FC tests on iOS by forcing native flow

* Fix Android build

* fix: add missing await to NativeStripeSdk.initialise calls (#2113)

The initialise method is async and returns a Promise, but it wasn't being
awaited. This could cause race conditions where subsequent Stripe operations
might be called before initialization completes.

Changes:
- Added await to initStripe function call to NativeStripeSdk.initialise
- Wrapped useEffect initialization in async IIFE
- Both Android and iOS initialization paths now properly await completion

* Parse link config for embedded (#2115)

* Remove package-lock.json (#2110)

* Use files instead of npmignore to cleanup npm package  (#2109)

* Revert "Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)"

This reverts commit c8d2bb2.

* Use npm publish

* Improve android ci build performance (#2111)

* Improve android ci build performance

* Test

* Update gradle action

* Use gradle cache action for both

* Improve apple pay docs (#2117)

* Embedded invisible Android fix (#2118)

* Try to fix layout issue

* Update CHANGELOG.md

* Add isLoaded (#2120)

* Bump Android SDK version to 21.26.+ (#2124)

* Bump Android SDK version to 21.26.+

* wip?

* 0.53.0 (#2121)

* Update CHANGELOG.md

* v0.53.0 (#2127)

* Fix iOS build on new arch 0.81 with static linkage (#2129)

* Fix iOS build on new arch 0.81 with static linkage

* Add changelog

* Fix a potential bug in the stop method. (#2133)

* Fix handling images with alpha (#2134)

* Update CHANGELOG.md (#2135)

* v0.53.1 (#2136)

* Set up headless task when using StripeProvider (#2128)

* Migrate CI to bitrise (#2137)

* Migrate CI to bitrise

* Update iOS test name

---------

Co-authored-by: Nick Porter <[email protected]>

* feat: add Alma implementation (#2140)

Co-authored-by: Bella Koch <[email protected]>

* Update CHANGELOG.md (#2149)

* v0.54.0 (#2150)

* Fix stripe ui errors when rotating screen (#2147)

* Fix stripe ui errors when rotating screen

* Fix format

* 0.54.1 proposal (#2153)

* v0.54.1 (#2154)

* Add iOS patch info to README (#2102)

* Add info about apply the patch to fix the iOS old architecture codegen issue

* Update wording

* update instructions to specify that issue is fixed with latest version

* fix typo

* Fix pods cache on CI (#2159)

* Fix pods cache on CI

* Test

* Update CODEOWNERS (#2162)

* Bump iOS version to ~> 24.24.0 (#2163)

* Bump iOS version to ~> 24.24.0

* update pods

* Add ability to applyLiquidGlass and update navigationBarStyle (#2165)

* Add ability to applyLiquidGlass and update navigationBarStyle

This reverts commit def71e55e0cea7e322333a4c47e4c1b3815c682d.

* kick off ci

* Revert "kick off ci"

This reverts commit 9447677.

* Add warning message to wave-atom affected releases (#2168)

* allow `uk_` keys for customer ephemeral keys (#2169)

* Propose 0.55.0 (#2175)

* v0.55.0 (#2176)

* Fix issue with missing metadata on FC events on Android (#2178)

* Fix issue with missing metadata on FC events on Android

* Add note in changelog

* Add ConfirmationTokens API (#2166)

* feat: Add confirmation token support for embedded payment element

Implements confirmation token callbacks for the embedded payment element,
allowing merchants to use confirmationTokenConfirmHandler as an alternative
to the traditional confirmHandler flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Committed-By-Agent: claude

* Test iOS CT path

* Update Android impl

* Update embedded screen

* Add embedded CT support

* run code gen

* Add import

* Scroll to find button

* Add notes about API

* Fix race condition

#2166 (comment)

* fix mappers

* lint

* Revert "Fix race condition"

This reverts commit ded8d94.

---------

Co-authored-by: Claude <[email protected]>

* Add missing mappings for Link payment method type (#2179)

* Add missing mappings for Link payment method type

* Add note to changelog

* Update CHANGELOG.md (#2184)

* v0.55.1 (#2185)

* Code gen update (#2151)

* Fix border radius not being applied to Apple Pay button (#2189)

* GA CTs and CS (#2188)

* Fix patch releases not automatically being used from `stripe-android` (#2191)

* Customersession for customersheet and OBO (#2192)

* public api

* update react native sdk version

* backend changes

* emitter layer

* emission listener and callback spec

* callback listener and emission caller

* CustomerSheet w. CustomerSession Screen

* uncomment OBO parsing

* update iOS sdk version

* fix confirmationTokenConfirmHandler

* Update CHANGELOG.md

* fix embedded-cpm e2e test

wait until payment methods are loaded
add padding so the e2e test can actually click complete payment

* Handle lifecycle states better (#2200)

* Handle lifecycle states better

* Simplify fix

* Simplify fix more

* Update CHANGELOG.md (#2204)

* v0.56.0 (#2206)

* Remove fragments (#2174)

* Remove fragments

* Cleanup

* Cleanup

* More cleanup

* Fix dynamicColorFromParams

* Fix custom payment methods

* Fix dynamicColorFromParams

* Remove toBundle

* Fix format

* Cleanup

* Remove Giropay (#2209)

* Fix how we get root VC for scene based apps (#2216)

* Use RCTKeyWindow rather than UIApplication window

* Update CHANGELOG.md

* Update iOS SDK to 25.0.0 and Android SDK to 22.0.0 (#2210)

* Update iOS SDK to 25.0.0

* [TEMP] TODO DELETE THIS - make example prefer maven local

* Update Android

* update changelog

* Revert "[TEMP] TODO DELETE THIS - make example prefer maven local"

This reverts commit 66b9176.

* lint android and make it part of the pre-commit

* update with latest

* update example pod

* Add dev guide to claude md (#2215)

* initial

* Claude rewrites my initial guide

* Updates root view controller access to match `master`

* Fix android compilation

---------

Co-authored-by: Nick Porter <[email protected]>
Co-authored-by: Till Hellmund <[email protected]>
Co-authored-by: Mikhail <[email protected]>
Co-authored-by: Janic Duplessis <[email protected]>
Co-authored-by: George Birch <[email protected]>
Co-authored-by: Tian Zhao <[email protected]>
Co-authored-by: Jay Newstrom <[email protected]>
Co-authored-by: rghirell <[email protected]>
Co-authored-by: Bella Koch <[email protected]>
Co-authored-by: Samer Alabi <[email protected]>
Co-authored-by: charliecruzan-stripe <[email protected]>
Co-authored-by: John Woo <[email protected]>
Co-authored-by: Mat Schmid <[email protected]>
Co-authored-by: guido-stripe <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Andrew Harrison <[email protected]>
Co-authored-by: Yuki <[email protected]>
Co-authored-by: Twig <[email protected]>
mliberatore added a commit that referenced this pull request Nov 17, 2025
* Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)

This reverts commit 9b24cd8.

* Update package.json (#2105)

* Re-enable FC tests on iOS by forcing native flow (#2104)

* Re-enable FC tests on iOS by forcing native flow

* Fix Android build

* fix: add missing await to NativeStripeSdk.initialise calls (#2113)

The initialise method is async and returns a Promise, but it wasn't being
awaited. This could cause race conditions where subsequent Stripe operations
might be called before initialization completes.

Changes:
- Added await to initStripe function call to NativeStripeSdk.initialise
- Wrapped useEffect initialization in async IIFE
- Both Android and iOS initialization paths now properly await completion

* Parse link config for embedded (#2115)

* Remove package-lock.json (#2110)

* Use files instead of npmignore to cleanup npm package  (#2109)

* Revert "Revert "Use files instead of npmignore to cleanup npm package (#2081)" (#2099)"

This reverts commit c8d2bb2.

* Use npm publish

* Improve android ci build performance (#2111)

* Improve android ci build performance

* Test

* Update gradle action

* Use gradle cache action for both

* Improve apple pay docs (#2117)

* Embedded invisible Android fix (#2118)

* Try to fix layout issue

* Update CHANGELOG.md

* Add isLoaded (#2120)

* Bump Android SDK version to 21.26.+ (#2124)

* Bump Android SDK version to 21.26.+

* wip?

* 0.53.0 (#2121)

* Update CHANGELOG.md

* v0.53.0 (#2127)

* Fix iOS build on new arch 0.81 with static linkage (#2129)

* Fix iOS build on new arch 0.81 with static linkage

* Add changelog

* Fix a potential bug in the stop method. (#2133)

* Fix handling images with alpha (#2134)

* Update CHANGELOG.md (#2135)

* v0.53.1 (#2136)

* Set up headless task when using StripeProvider (#2128)

* Migrate CI to bitrise (#2137)

* Migrate CI to bitrise

* Update iOS test name

---------

Co-authored-by: Nick Porter <[email protected]>

* feat: add Alma implementation (#2140)

Co-authored-by: Bella Koch <[email protected]>

* Update CHANGELOG.md (#2149)

* v0.54.0 (#2150)

* Fix stripe ui errors when rotating screen (#2147)

* Fix stripe ui errors when rotating screen

* Fix format

* 0.54.1 proposal (#2153)

* v0.54.1 (#2154)

* Add iOS patch info to README (#2102)

* Add info about apply the patch to fix the iOS old architecture codegen issue

* Update wording

* update instructions to specify that issue is fixed with latest version

* fix typo

* Fix pods cache on CI (#2159)

* Fix pods cache on CI

* Test

* Update CODEOWNERS (#2162)

* Bump iOS version to ~> 24.24.0 (#2163)

* Bump iOS version to ~> 24.24.0

* update pods

* Add ability to applyLiquidGlass and update navigationBarStyle (#2165)

* Add ability to applyLiquidGlass and update navigationBarStyle

This reverts commit def71e55e0cea7e322333a4c47e4c1b3815c682d.

* kick off ci

* Revert "kick off ci"

This reverts commit 9447677.

* Add warning message to wave-atom affected releases (#2168)

* allow `uk_` keys for customer ephemeral keys (#2169)

* Propose 0.55.0 (#2175)

* v0.55.0 (#2176)

* Fix issue with missing metadata on FC events on Android (#2178)

* Fix issue with missing metadata on FC events on Android

* Add note in changelog

* Add ConfirmationTokens API (#2166)

* feat: Add confirmation token support for embedded payment element

Implements confirmation token callbacks for the embedded payment element,
allowing merchants to use confirmationTokenConfirmHandler as an alternative
to the traditional confirmHandler flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Committed-By-Agent: claude

* Test iOS CT path

* Update Android impl

* Update embedded screen

* Add embedded CT support

* run code gen

* Add import

* Scroll to find button

* Add notes about API

* Fix race condition

#2166 (comment)

* fix mappers

* lint

* Revert "Fix race condition"

This reverts commit ded8d94.

---------

Co-authored-by: Claude <[email protected]>

* Add missing mappings for Link payment method type (#2179)

* Add missing mappings for Link payment method type

* Add note to changelog

* Update CHANGELOG.md (#2184)

* v0.55.1 (#2185)

* Code gen update (#2151)

* Fix border radius not being applied to Apple Pay button (#2189)

* GA CTs and CS (#2188)

* Fix patch releases not automatically being used from `stripe-android` (#2191)

* Customersession for customersheet and OBO (#2192)

* public api

* update react native sdk version

* backend changes

* emitter layer

* emission listener and callback spec

* callback listener and emission caller

* CustomerSheet w. CustomerSession Screen

* uncomment OBO parsing

* update iOS sdk version

* fix confirmationTokenConfirmHandler

* Update CHANGELOG.md

* fix embedded-cpm e2e test

wait until payment methods are loaded
add padding so the e2e test can actually click complete payment

* Handle lifecycle states better (#2200)

* Handle lifecycle states better

* Simplify fix

* Simplify fix more

* Update CHANGELOG.md (#2204)

* v0.56.0 (#2206)

* Remove fragments (#2174)

* Remove fragments

* Cleanup

* Cleanup

* More cleanup

* Fix dynamicColorFromParams

* Fix custom payment methods

* Fix dynamicColorFromParams

* Remove toBundle

* Fix format

* Cleanup

* Remove Giropay (#2209)

* Fix how we get root VC for scene based apps (#2216)

* Use RCTKeyWindow rather than UIApplication window

* Update CHANGELOG.md

* Update iOS SDK to 25.0.0 and Android SDK to 22.0.0 (#2210)

* Update iOS SDK to 25.0.0

* [TEMP] TODO DELETE THIS - make example prefer maven local

* Update Android

* update changelog

* Revert "[TEMP] TODO DELETE THIS - make example prefer maven local"

This reverts commit 66b9176.

* lint android and make it part of the pre-commit

* update with latest

* update example pod

* Add dev guide to claude md (#2215)

* initial

* Claude rewrites my initial guide

* Update CHANGELOG (#2218)

* v0.57.0 (#2219)

* Fix crash when not setting custom flag (#2220)

* FIx crash

* Update CHANGELOG.md

* Refactor + unit tests paymentsheet and element (#2211)

* Remove EPH key from CT screens (#2222)

* Add more unit tests on Android (#2212)

* Add more mappers tests

* Add address view tests

* Update EmbeddedPaymentElementView.kt

* Update EmbeddedPaymentElementView.kt

---------

Co-authored-by: Nick Porter <[email protected]>
Co-authored-by: Till Hellmund <[email protected]>
Co-authored-by: Mikhail <[email protected]>
Co-authored-by: Janic Duplessis <[email protected]>
Co-authored-by: George Birch <[email protected]>
Co-authored-by: Tian Zhao <[email protected]>
Co-authored-by: Jay Newstrom <[email protected]>
Co-authored-by: rghirell <[email protected]>
Co-authored-by: Bella Koch <[email protected]>
Co-authored-by: Samer Alabi <[email protected]>
Co-authored-by: charliecruzan-stripe <[email protected]>
Co-authored-by: John Woo <[email protected]>
Co-authored-by: Mat Schmid <[email protected]>
Co-authored-by: guido-stripe <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Andrew Harrison <[email protected]>
Co-authored-by: Yuki <[email protected]>
Co-authored-by: Twig <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RN 0.81 + use_frameworks! :linkage => :static → 'react/utils/FollyConvert.h' file not found

7 participants