flutter_stripe icon indicating copy to clipboard operation
flutter_stripe copied to clipboard

Closing the 3DS popup on Android results in error for the succeeding call with same card.

Open guidotheelen opened this issue 4 months ago • 1 comments

Describe the bug On Android, when calling the confirmPayment method for a 3DS card the popup is shown correctly the first time. When clicking away this popup (By clicking the "close" button) the next call to confirmPayment results in an error.

To Reproduce Steps to reproduce the behavior:

  1. When using this card: 4000002760003184 (Always authenticate)
  2. Calling confirmPayment
  3. Clicking "Close" on the 3Ds popup
  4. The popup shows for a brief moment but closes instantly.
  5. Calling confirmPayment again with the same paymentIntentClientSecret results in the following error:

We are unable to authenticate your payment method. Please choose a different payment method and try again.

Expected behavior Successive calls to confirmPayment should open the same popup and await user response.

Smartphone / tablet

  • Device: Pixel 3a
  • OS: Android 14
  • Package version: 10.0.0
  • Flutter version 3.16.9

guidotheelen avatar Mar 04 '24 11:03 guidotheelen

I'm not sure what exactly happens to you at Step 3 and Step 4 - can you provide a video? Also it's quite likely that the Payment Intent cannot be reused again

jonasbark avatar Mar 07 '24 12:03 jonasbark

We managed to fix this by removing the confirmPayment call and correctly handling the handleNextAction.

guidotheelen avatar Apr 18 '24 11:04 guidotheelen