Hi, Im trying to get the Express checkout element to work with the Custom beta checkout beta (custom_checkout_beta_5)
I seem to fullfil all requirements but still don’t get any payment methods. The element iframe only renders some empty divs (see below). The element ready event fires with availablePaymentMethods undefined and no loaderror event is fired.
Rendered iframe:
Ive completed the following:
Domain Registration: Make sure that both your testing domains, including those accessed via services like ngrok, have been properly registered and verified in the Stripe Dashboard. This ensures that your domains are authorized to use certain payment methods such as Apple Pay and Google Pay.
My ngrok domain is Active in my sandbox and test env. (have tried both)
HTTPS Requirement: Since you are testing your Express Checkout Element locally, confirm that your setup is served over HTTPS. You mentioned using an ngrok tunnel, which is a good approach to expose a secure URL for local development.
HTTPS is working.
Browser and Device Compatibility: Ensure that the device and browser you are using meet the compatibility requirements for the payment methods you wish to test, such as Apple Pay or Google Pay. It’s important that the browsers have the necessary settings to check if there are stored payment methods available.
Google pay works in Chrome on other sites.
Payment Method Configuration: Review the payment methods enabled in your Stripe Dashboard settings. Some methods may require activation before they are available for use. Additionally, if you wish Apple Pay or Google Pay to always appear, you might need to set their paymentMethods
option to always
.
Apple and google pay and Link are enabled. I see them if I use the Stripe hosted Checkout page.
Payment Methods Setup on Device: Ensure that your test devices have active payment methods saved and configured. For tests involving wallet payments, the device should have at least one valid card added.
Google pay and Link work in Chrome on other sites.
Check Iframe Settings: If your implementation uses an iframe, ensure it has the allow="payment"
attribute set, which is necessary for enabling wallet payment methods to function correctly.
I use the element rendered by your API and ive confirmed that allow payment is set. (see screenshot).
What else am I missing?