#TheMechanic
1 messages · Page 1 of 1 (latest)
Hi there 👋 I'm not sure offhand what could be causing that error specifically. Do you have a publicly accessible test site where you're seeing this behavior that I could take a closer look at? Also, since it sounds like you're at the testing stage, can you confirm that you are not using an a private Safari window to test this?
I cannot share url, but i'm using Safari Preview v17 (as your doc says, Payment in iframe cross-domain works only for Safari >=17), not in private mode. I've add the domain to payment_method_domains list on dashboard, in test mode and normal mode
And your iframe and top level domain both have the same origin?
Oh, wait, I see, that's the requirement that chaned in Safari 17
no, it's cross-domain, and I've followed your doc : "When using an iframe, its origin must match the top-level origin (except for Safari 17 when specifying allow="payment" attribute). Two pages have the same origin if the protocol, host (full domain name), and port (if specified) are the same for both pages."
Hm, it's a bit trickky to think of what could be causing this without being able to see what's happening. Are you using Stripe Connect, and if so are you using Direct Charges?
Gotcha, Direct Charges are one of the three charge types we have available for use with Connect, where payments happen directly on the Connected Accounts.
https://stripe.com/docs/connect/charges#types
When you initialize stripe.js in your frontend, are you using the stripeAccount option?
we are using :
const stripePromise = loadStripe(process.env.NEXT_PUBLIC_STRIPE_KEY!);
an then :
<Elements stripe={stripePromise} options={{ locale: message?.language ?? 'fr', fonts: [ { cssSrc: 'https://marketing-assets.vercel.app/Beausite.css', }, { cssSrc: 'https://marketing-assets.vercel.app/Brice.css', }, ], }} >
Okay, so looks like you're initializing your frontend for a destination charge flow (or separate charges and transfers). Which menas the payment method domain would have needed to be registered for your platform account. When you were registering that domain, did you use the stripeAccount parameter there at all?
I registered the iframe domain :https://dashboard.stripe.com/test/settings/payment_method_domains?enabled=true
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
I'm trying to stand up a test site to test what you're describing.
Hm, it's working for me, but I registered the top level domain earlier also, let me see if removing that causes what you're describing.
Still seems to work after that registration is removed.
ok really weird
you are testing with safari preview Release 175 (Safari 17.0, WebKit 18617.1.1.2) ?
No, I don't think I'm on a preview build:
Version 17.0 (18616.1.27.111.22, 18616)
i try with le latest
Does it work on a non-preview version of Safari for you?
no as my "normal" version is below v17
so i try to reinstall the preview, maybe the latest will fix it
I'm not too familiar with the preview version of Safari, so I don't know much about what if offers. I don't know if it does, but my fear would be that they may disable more sensitive features until the build is deemed stable, which is why I was thinking checking with a non-preview build may help.
still the same issue
Were non-apple-pay payments working before you started trying to add Apple Pay?
yes everything else working fine (card and googlePay too)
i gonna see if I can update mac os to have normal safari in v17
Sounds good. I'm still not sure what could be causing that behavior, and think it would be beneficial if I could see what's happening to see if anything jumps out at me, if it's possible to share a test site.
I check this safari stuff, then if still issues I try to give you a test url !