stripe / react-stripe-js

React components for Stripe.js and Stripe Elements
https://stripe.com/docs/stripe-js/react
MIT License
1.75k stars 267 forks source link

[BUG]: Unable to programatically dismiss Apple Pay modal #445

Closed ishkananrb closed 1 year ago

ishkananrb commented 1 year ago

What happened?

Hi team! Apologies if this is the wrong place to report this one.

We are currently using the ECE to present Apple and Google Pay to our customers. During a checkout flow when the modals are open, the order total can transition to $0 on an address change. This mostly happens when a geo-constrained coupon goes from inactive to active, bringing the non-$0 order total at the start of the transaction to $0.

As setting amount to $0 is invalid when calling resolve() in the onShippingAddressChange handler, it would be really great to have a way to dismiss the modal programatically so we can continue with our custom $0 checkout flow. We're able to do this with Google Pay by removing the Elements and ECE components from the DOM. But this doesn't seem to have any effect on Apple Pay - the modal remains open even when Stripe components are removed from the DOM.

I did spot a dismissPlatformPay function in the React Native lib for iOS, but that doesn't seem to be present for non-native environments.

Environment

No response

Reproduction

No response

fruchtose-stripe commented 1 year ago

Hi, this looks like it’s an issue with the underlying Stripe.js script. React Stripe Elements, React Stripe.js, and the Stripe.js loader are wrappers around that, so we don’t track those issues here. Please reach out to Stripe Support so that we can track and prioritize this issue internally.

ishkananrb commented 1 year ago

Thanks @fruchtose-stripe . I have sent an email via Stripe Support.