Hello,
I’m integrating the Web Payments SDK into a custom payment method for an EC-CUBE (PHP) online store in Japan. Since April 2025, Strong Customer Authentication (3D Secure) is legally required for card payments in Japan, so I added verificationDetails to the card.tokenize() call.
Problem: After adding verificationDetails, clicking the payment confirmation button causes the screen to dim and freeze for 60+ seconds with no response — no 3DS modal/popup ever appears, and there are no errors in the browser console.
What I’ve already ruled out:
- Reproduces identically in Chrome, Edge (InPrivate), and on a separate mobile device/network — not a browser extension or local network issue
- No JavaScript errors in the console
- Tried both unformatted (1030) and formatted (“1030.00”) amount strings — no change
- No Content-Security-Policy header is set on the page that could be blocking the 3DS iframe/popup
- Location ID and amount are consistent between the client-side verificationDetails and the server-side charge request (verified by code review)
What works: Without verificationDetails (i.e., card.tokenize() with no argument), the same flow completes successfully and the card is charged (confirmed on production, order #1082, ¥1,030).
Environment:
- Application ID: sq0idp-AeukhKBVotQ-MR1sBnIbZw
- Location ID: LJVCXJA3W3RT0
- Web Payments SDK (latest, loaded from Square’s CDN)
Question: Is 3D Secure/SCA correctly enabled for this Location? What else could cause tokenize() to hang indefinitely (not error out, not time out) specifically when verificationDetails is supplied?
Any guidance would be appreciated.