#henryd
1 messages ยท Page 1 of 1 (latest)
Hi ๐
The actual session would be closed but you could re-attempt confirmation of the Payment Intent to trigger this flow.
Payment Intents are never actually "incomplete". If they enter a requires_action state (3DS) then they will either proceed to processing or fall back to requires_confirmation.
We outline this here: https://stripe.com/docs/api/events/types#event_types-product.created
Yeah, it actually remains in requires_action in this case. We've been trying to re-attempt confirmation of the Payment Intent but the mobile SDK returns this status result:
PaymentResult.Failed = com.stripe.android.exception.APIException: We are unable to authenticate your payment method. Please choose a different payment method and try again.
And, on the dashboard, we don't see any error related to it in the Payment Intent details
Whoops that was the wrong link, sorry. This is what I meant https://stripe.com/docs/payments/intents
Got it, thanks. Could you please check what I posted above?
Hi sorry, yes give me a minute to try and reproduce the error
So the user fails 3DS authentication? Or simply closes out without proceeding? When I dismiss the 3DS challenge screen the Payment Intent remains in a requires_payment_method state
When I fail the authentication I am returned to the Payment Sheet with the Exception message you posted above in red. However, if I use the same card number and simply complete the 3DS authentication flow the charge is processed successfully
It closes closes out without proceeding and the Payment Intent remains in requires_action
And we don't see something like:
This is the behavior when you tap "Close" during the challenge flow, we don't see anything similar to this
Do you have an example Payment Intent ID I could take a look at?
Sure, give me a sec
I just tested a situation where I closed the browser with an upward swipe instead of the close button. I do see the last state of the PI is requires_action and the latest message in the Dashboard is as shown here:
This is an example: pi_3N2zpTD0S8kEChyn02p07y9N
Notice the multiple "Request to confirm a PaymentIntent" attempts in the logs
For each one, we got the "We are unable to authenticate your payment..." failure from the mobile callback
And the customer was not presented with the 3DS challenge screen?
How is your Android application attempting to re-confirm the Payment Intent? Are you reloading the Payment Sheet with the existing client_secret?
Yeah, we're retrieving the client_secret through our backend API
Please, watch this video
Can you provide the code you are using to re-confirm the Payment Intent?
@oak robin Did you had the chance to review the last information I posted here?
Hello ๐
Jumping in here, is there a guide you're following for this?
Also, Have you tried calling handleNextAction.. function instead of confirm?
https://stripe.dev/stripe-android/payments-core/com.stripe.android.payments.paymentlauncher/-payment-launcher/index.html#-1232763087%2FFunctions%2F-1622557690
Are you seeing the same error there?
@stark grove
@agile osprey Docs explicitly don't tell you to use confirm or handleNextAction to handle the Payment Intent, instead, they say that PaymentSheet and PaymentSheet.FlowController handles this stuff for use. See the docs: https://stripe.com/docs/payments/3d-secure#when-to-use-3d-secure
In our use case, we're using PaymentMethodsActivityStarter and for that reason I came here some time ago looking for some help: https://discord.com/channels/841573134531821608/1067148421737234572
I'll try using handleNextAction to see what happens
Just tested handleNextAction and I can confirm I still receive this error:
We are unable to authenticate your payment method. Please choose a different payment method and try again.
๐ could you share the ID of the PaymentIntent you just tried to confirm that returned this error?
Sure, it's: pi_3N34tJD0S8kEChyn0bqp7uoF
Thanks! I'm not a mobile expert so give me a min to loop in a teammate
๐ Hopping in here for a minute - I noticed the PM attached to the PI is using the test card ending in 3238. Has that been the only test card you've tried this out with?
What happens when you try with other test cards like the 4000000000003220 card?
Let me try that
I tested with: 4000 0000 0000 3220 -> pi_3N3603D0S8kEChyn0wzXAjc2
And with 4000 0000 0000 3246 -> pi_3N366XD0S8kEChyn0Gcz7SHX
The same error happens
Hmmm... let me get someone else to assist. Will circle back in a few
At this point I'd recommend wrting in to our support team
How can I do that?
we've tried to help for multiple hours, and there's a lot of lag between each reply. So please write in with detailed information here: https://support.stripe.com/contact
someone can follow up and investigate further