stripe-ios
stripe-ios copied to clipboard
[BUG] Fix error mapping when returning from 3DS
Summary
The payment error message in PaymentSheet for "Insufficient funds decline" case is too generic and can lead to confusion for users. Without knowing the specific reason (i.e., insufficient funds), users may repeatedly try the same card, thinking it might be a temporary issue. https://user-images.githubusercontent.com/5547520/277351452-80cb89cf-1542-4a62-bf6c-e0e87749c479.png
Can you fix your mapping as Android side to replace "Card declined" by a more specific message like "insufficient funds"? The reason: https://github.com/stripe/stripe-android/issues/7478#issuecomment-1779221544
Help to reproduce
You can test it with your testing usecase "Insufficient funds decline" (card number: 4000 0000 0000 9995) Use your PaymentSheet when 3DS is mandatory for a transaction
iOS version
Any
Installation method
N/A
SDK version
N/A
Other information
Already solved on Android side https://github.com/stripe/stripe-android/pull/7499
Hi @arkalezard thanks for reporting. We'll have someone take a look soon.
Hi @arkalezard -
I'm having trouble reproducing this error in the latest version of our SDK (23.18.2)
- Can you please let me know what version you are running?
My reproduction steps are:
- Execute payment sheet
- Enter card 4000 0000 0000 9995
- Enter date: 04/24
- Enter CVC: 456
- Billing address: France
- Tap "Pay"
Behavior that I observed: Error appears as "Your card has insufficient funds"
Hi @arkalezard -
I'm having trouble reproducing this error in the latest version of our SDK (23.18.2)
- Can you please let me know what version you are running?
My reproduction steps are:
- Execute payment sheet
- Enter card 4000 0000 0000 9995
- Enter date: 04/24
- Enter CVC: 456
- Billing address: France
- Tap "Pay"
Behavior that I observed: Error appears as "Your card has insufficient funds"
Hi, Today we are using 23.17.2
GIVEN the server forces 3DS validation on every transaction! WHEN
- Execute payment sheet
- Enter card 4000 0000 0000 9995
- Enter date: 04/24
- Enter CVC: 456
- Billing address: France
- Tap "Pay"
THEN Behavior that I observed: Error appears as "Card declined"
Thanks! I was able to reproduce this on iOS by passing the following on the creation of the payment intent.
args.payment_method_options = {"card":
{request_three_d_secure: "any"}
}
This will go into our queue to be looked at in the future. Thanks!