gpt4 book ai didi

Stripe iframe for 3d secure authentication doesn't show up on android chrome browser(用于3D安全身份验证的条带iFrame不显示在Android Chrome浏览器上)

转载 作者:bug小助手 更新时间:2023-10-24 17:10:44 31 4
gpt4 key购买 nike



I am refactoring an e-commerce web application, I am using react (with Nextjs). My implementation is pretty simple and similar to what I have previously but I have a big problem with the fact that payments which need 3d secure authentication do not trigger the iframe ONLY on mobile and ONLY on some browsers (chrome, brave, ecosia but OK on firefox) on after calling the confirmCardPayment function :

我正在重构一个电子商务Web应用程序,我正在使用Reaction(与Nextjs一起)。我的实现非常简单,与我之前的类似,但我有一个很大的问题,即需要3D安全身份验证的支付在调用confirmCardPayment函数后,不仅在移动设备上触发iFrame,而且只在一些浏览器(Chrome、Brave、Ecosia,但在Firefox上可以)上触发:


        res = await stripe.confirmCardPayment(clientSecret, {
receipt_email: customerData.email,
payment_method: {
card,
billing_details: billingDetails,
},
});

I can go through the 3d secure auth process + payment without any problem on computer or on firefox on mobile : my payment intent status is "requires_action" in all cases, the only difference is that on computer the iframe / pop-up show up, but not in the problematic cases.

我可以在电脑或移动火狐上顺利完成3D安全身份验证+支付:我的支付意图状态在所有情况下都是“REQUIRED_ACTION”,唯一的区别是在电脑上会显示IFRAME/弹出窗口,但在有问题的情况下不会出现。


So my guess is that it is browser specific, I tried to remove the custom style that I put on cardElement without any success, changed stripe and react-stripe versions to previous ones.

所以我的猜测是,它是特定于浏览器的,我试图删除我在cardElement上设置的自定义样式,但没有成功,将条纹和反应条纹版本更改为以前的版本。


Does someone have any clue to address this issue ?

有没有人有任何线索来解决这个问题?


Have a nice day!

祝您今天愉快!


更多回答
优秀答案推荐

Chrome mobile is in Stripe's supported browsers list, so the 3DS authentication flow should work in Chrome mobile browser.

Chrome移动版在条纹支持的浏览器列表中,因此3DS身份验证流程应该可以在Chrome移动版浏览器中运行。


Is there a public URL where I can visit and reproduce the issue?

有没有公开的URL可以让我访问和转载这个问题?



enter image description here


I just tested your website in a Chrome mobile browser and I'm able to launch the 3DS dialog and complete the payment.

我刚刚在Chrome手机浏览器上测试了你的网站,我可以启动3DS对话框并完成付款。


Are there any specific steps that I need to take to reproduce the issue?

我需要采取什么具体步骤来重现该问题吗?


更多回答

Thank you for you response! Yes you can visit osdivae-v3-git-develop-brian-charles-development.vercel.app , add a product to cart and go to checkout, give some random values in checkout and at payment page give 4000 0000 0000 3220 card which force 3D secure. Try on chrome android to see the "not loading iframe". When debugging with usb cable my mobile browser, I saw that changes in userAgent may have an effect on the problem.

感谢您的回复!是的,你可以访问osdivae-v3-git-develop-brian-charles-development.vercel.app,将产品添加到购物车和结账,在结账时给一些随机值,在付款页面给4000 0000 0000 3220卡,这将强制3D安全。试着在Chrome Android上看看“Not Load IFrame”。当使用USB线调试我的移动浏览器时,我看到用户代理中的更改可能会对该问题产生影响。

For further information I noticed that the authenticate3DS2 call in stripe controller code does not trigger and so the authenticate network call is note done.

对于进一步的信息,我注意到条带控制器代码中的身份验证3DS2调用不会触发,因此请注意完成了身份验证网络调用。

Okay so it does not seem to be only related to browser. I got the problem on two different mobiles (and on these phones not on firefox). I could ask to other people if they can test it out to check if it is only on my side. I havn't some specific steps to reproduce the same error that there is on these two phones, I'll tell you about the other tests. Do you think it is possible that it is related with the device used ? The two mobiles are something like 4 or 5 years old.

好的,所以它似乎不仅仅与浏览器有关。我在两款不同的手机上遇到了这个问题(在这些手机上,而不是在火狐上)。我可以问问其他人,他们是否可以测试一下,看看它是否只站在我这边。我没有一些具体的步骤来重现这两部手机上存在的相同错误,我会告诉你其他测试的情况。你认为这有可能与所使用的设备有关吗?这两部手机大约有4到5年的历史了。

Replacing the default user agent 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36' by 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Firefox/117.0 Mobile Safari/537.36' allow me to show the iframe. This is incredible... Maybe problem due to my device + chrome...

将默认的用户代理‘Mozilla/5.0(Linux;Android 10;K)AppleWebKit/537.36(Khtml,Like Gecko)Chrome/116.0.0.0 Mobile Safari/537.36’替换为‘Mozilla/5.0(Linux;Android 10;K)AppleWebKit/537.36(Khtml,Like Gecko)Firefox/117.0 Mobile Safari/537.36’允许我显示IFRAME。这太不可思议了。可能是我的设备+铬造成的问题。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com