#Sylom-payment-intents
1 messages ยท Page 1 of 1 (latest)
Hi there ๐ our Payment Intent objects do have references to associated Product or Price objects. This information is stored on objects such as Orders and Invoices.
Can you share the ID (pi_123) of a Payment Intent that did not prompt for 3DS as you expected?
Hi,
Well this is strange, because both order and invoice attributes were null during my tests.
Here's the ID of one of the orders that should have required 3DSecure : pi_3LOIRVDNX4pVNBiS2YGuxPAY
Ah, looks like you're using Checkout Sessions, so those are the objects that will contain the list of items:
https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-line_items
Taking a closer look at that Payment Intent.
I'm not seeing a Radar rule configured on your account to always require that 3DS be completed.
The closest rule I'm seeing is configured to request 3DS if it is required for a transaction, which is up to the issuer to determine for each transaction.
That's weird. Because before we switched to Checkout Sessions, we did have 3DS pop-ups without changing anything.
Checkout Sessions will still handle 3DS requirements, as can be seen on your most recent payment:
https://dashboard.stripe.com/payments/pi_3LXCFbDNX4pVNBiS0dg7sNFq
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
So basically, right now, if the card issuer didn't request 3DS, it will never ask for 3DS.
Hello, toby had to step out and I am catching up here. Are you saying that you have a Radar rule or something that should have otherwise requested 3DS here?
But yes, 3DS requests are ultimately up to the issuing bank. You can set Stripe things to request that the bank requests 3DS but it is ultimately up to them and no 3DS happens if the bank does not request
Yeah, because I has a discussion with a client who said that it was weird that Stripe didn't ask while any other transaction on any other website would. But according to the last payment, there's definitely 3DS requests, so I don't know.
I'll recheck the rules later and I'll let you know.
Question related to the first one: is it possible to get a Checkout Session id with the PaymentIntent or the PaymentIntent's id? I see there's a retrieve method but it asks the session's ID.
Good question, looking in to it. As far as I know there isn't a field for that but I am checking
Yeah, unfortunately no way to look it up directly. You can do something like set metadata on the PI that helps you find the original, but you will likely need to use the API endpoints to list all Checkout Sessions one way or another
Or maybe you can do something like listen for the checkout.session.completed event and use that to set the Session's ID as metadata on the PaymentIntent
I was actually already stocking the session id in a temporary place. So technically, I could solve the issue by updating the PaymentIntent's metadata post successful session?
Definitely gonna check that out. Thank you both for your answers.
If you know this ID while creating the Checkout Session, you can actually set it on the payment intent as well at the same time, just need to pass it in one more place https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-metadata
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
I'll take a look, thanks.