#shokhaa.3ds-redirect
1 messages · Page 1 of 1 (latest)
pi_3JuFVUJjpkJSdYjB1igXggr3
Thanks, checking now
ok
The return_url field of a PaymentIntent cannot be updated
Why do you need to update that field? You'd need to create a new PI
"message": "The provided PaymentMethod has failed authentication. You can provide payment_method_data or a new PaymentMethod to attempt to fulfill this PaymentIntent again.",
if the 3d check has not passed then you need to create a new PI or what?
Are you handling the 3DS steps correctly with Stripe.js? What specifically is failing?
everything works out for me! just want to know!
if the 3d check has not passed then you need to create a new PI or what?
The current state of the Payment Intent you've shared is requires_action, which means there are 3DS auth steps to be completed with Stripe.js (using confirmPayment)
if the 3d check has not passed then you need to create a new PI or what?
Nope, you can re-attempt auth on a PI if the initial auth attempt failed
"next_action": {
"redirect_to_url": {
"return_url": "homevet://payment/3d/245",
"url": "https://hooks.stripe.com/redirect/authenticate/src_1JuFVVJjpkJSdYjBUbUADHl5?client_secret=src_client_secret_iqfbFHS2SC3A5u82smWVghuo&source_redirect_slug=test_YWNjdF8xSkdMWlVKanBrSlNkWWpCLF9LWk9JYmNJMWNCUHRnVXRaSURxN2NQVEtRRUlBUFpX0100TAC94Fuo"
},
"type": "redirect_to_url"
},
If the authentication fails, as it has on this PI, then you need to re-attach a Payment Method (which you did here: https://dashboard.stripe.com/test/logs/iar_Ekd6CLDUtQOG7H)
after a bad drink, this url does not work anymore! therefore, I updated the UI to get a new url, but when I update, the deplink disappears and becomes use_stripe_sdk
As I said, you can't update the return_url field on a Payment Intent. So you'll need to create a new PI if that URL is no longer valid
after that my next_action becomes use_stripe_sdk! but the one that I created redirect_to_url should remain
Yes, because the PI need authenticating (3DS) with Stripe.js
Upon successful authentication, the user will be redirected to the return_url
If you need that field to persist, in may be better to add it as a key/value pair in the metatdata field rather than relying on a field that we also use for 3DS and other bank flows.
https://stripe.com/docs/api/metadata
have you seen the screenshots?
why will nextAction change automatically?
$stripeClient->paymentIntents->update('pi_3JuEQIJjpkJSdYjB1pagz4Dc', [
'payment_method' =>
'card_1JuBj2JjpkJSdYjBJkGhhCsR',
]);
Because nextAction is the field that we use within our own libraries to handle 3DS redirects and other necessary bank redirects. You mentioned that the payment failed the 3DS check, which means we need to try completing the rest of that flow. So we then use the nextAction field to contain what the next action is and the necessary information to execute it.
If I want to use return_url as a deep link for Android in IOS, then I need to create a new PI after every unsuccessful 3D check?