#J4cks0n
1 messages · Page 1 of 1 (latest)
Hi, can you share a test link where I can try to reproduce this issue? Are you successfully reproducing this on your end consistently? Did it ever work before?
It looks like a race condition issue. Most of the time, the elements form will not show up. Sure. May I send it to you privately? I don't want to make it public.
Just send you a private message including the login info and url.
Can you share the exact steps that I try to reproduce it? Is it acting differently for different versions?
Yes, please click the order online button, add anything to your cart. It will ask you to login at that moment. Make sure add the item again and checkout. You will see the payment page with Stripe.
With Safari and iOS, it is working completely fine.
Android with Chrome is also all good. Just iOS with Chrome is buggy.
I'm getting someone with deeper iOS knowledge look at it, thank you for your patience.
No problem. We tried a few hacky ways but none of them worked.
Hello! I'm taking over and catching up...
Thanks Rubeus.
What's shown in the browser console when Elements doesn't show up in Chrome on iOS?
Nothing critial. I remember there is a warning.
Can you provide the console output when the issue happens?
WARNING: Either you do not have a card saved to your Wallet or the current domain or stripeAccount parameter (acct_xxxxxx) is not registered for Apple Pay. Visit https://dashboard.stripe.com/account/apple_pay to register this domain.
Just apple pay, nothing else.
Which Stripe Element(s) are you using?
payment
elements = stripe.elements({
clientSecret: stripe_client_secret,
})
const paymentElement = elements.create("payment")
paymentElement.on('ready', ()=> {
console.log("payment element loaded")
disabled.value=false
forceReflow('.StripeElement')
})
paymentElement.mount("#payment-element")
We are using Vue3, this code is sitting in the onMounted function.
And it works fine in Safari on iOS?
That's tricky. You'll probably need to get dev tools up and running in Chrome for iOS to figure it out, which is not trivial but possible. See the first answer here: https://stackoverflow.com/questions/11262236/remote-debugging-for-chrome-ios-and-safari/
We can try that. Do you have any hints regarding what we should looking into?
Not very familiar with Stripe JS.
I would probably start with breakpoints around the code that mounts the Payment Element and see what's going on. Also look through the DOM tree to see if it's actually there but hidden, things like that.
Sure. Thanks for the help. We will gather more info and come back. 🙂