#howard9075_api
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! We typically respond in a few minutes, but in some cases we might need a bit more time (e.g., server's busy, you've got a complex question, etc.).
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1261162413458198720
๐ Have more to share? Add details, code, screenshots, videos, etc. below.
I look up the time line of the payment_intent made by Express payment element and see that, after I call the function stripe.confirmPayment on the hook expressPaymentElement.on('confirm) on the FrontEnd, after the first payment confirmation, the payment_intent include the next_action that informs about the 3DS confirmation. But When I tried to get the payment using stripe.retrivePaymentIntent there is no next_action data included.
Can you suggest me a problem on that, please. Thank you so much
Where did you call this stripe.retrivePaymentIntent? On backend or frontend?
I call on the frontend, on the hook expressPaymentElement.on('confirm), right before I call stripe.confirmPayment
And in the BackEnd after the payment_intent got confirmed, I get payment_intent another time to verify the payment status, and at that time, payment_intent do not contain any information about the 3DS either.
You can check this payment intent: pi_3PbOEWCMztaulBaW0PpzgZfI
I get payment_intent another time to verify the payment status,
Sorry what exactly another time? I believe after the confirmation call, any Retrieve API should receive thenext_actionblock
after we call the stripe.confirmPayment on the frontend, we call a backend api: that re-verify the payment intent status and update our order status.
But this what I got when I get the payment intent:
But the old Link button by Payment Request button, in the payment_method_details includes information about the 3DS:
It looks like already completed by the customer? Was this before or after you performed 3DS (or did you not?) Assuming you are testing by yourself
Let me clear up my problem:
- With the old Link Button By Payment Request Button: When I call the API to get the payment intent after the payment intent got confirmed, the response includes the 3DS information on the field payment_method_details -> card -> three_d_secure
- But with the new Link Button provided by Express Payment Element. The API response does not contain any information about 3DS, as you can see the API's response I attached
This is my website on dev environment, you can create a test checkout with 3DS, and check the payment_intent information
https://multi-discount-1.myshopbase.net/checkouts/e2a4b631ad8542c4b410db5d4cdbf5b8
the test 3DS card is: 4000000000003220.
okay, at a high level, there's some differences in how Link behaves with your Link on the Payment Request Button vs Express Checkout Element. Maybe can you share a bit more on why do you need to know the details of 3DS?
we have a logic for post-purchase upsell.
we set up feature usage when the user checks out for the first time, and uses the same payment method for post-purchase orders.
And 3DS card does not support setup feature usage, so we do not show them post-purchase pop-up If after the first checkout, we detect that they used a 3DS card
I see, to provide some additional details, the Link on the Payment Request Button for your account can currently only process card payments, whereas the link on the Express Checkout Element can process non-card payments as well. Because we allow processing of non-card payments as well, we abstract away a number of details (such as the 3DS details) as you won't know what the customer has chosen to pay with. unfortunately, there isn't any way for us to change this behaviour at the moment
ah I see, thank you so much for letting me know that.