Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Wrong translations #7478

Closed
FlorentDambreville opened this issue Oct 23, 2023 · 8 comments · Fixed by #7499
Closed

[BUG] Wrong translations #7478

FlorentDambreville opened this issue Oct 23, 2023 · 8 comments · Fixed by #7499
Assignees
Labels
Projects

Comments

@FlorentDambreville
Copy link

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.
drawing

Can you replace the message "Card declined" by a more specific message like "insufficient funds" for example please?
This would provides clarity and improves user experience during payment processing.

Code to reproduce

You can test it with your testing usecase "Insufficient funds decline" (card number: 4000 0000 0000 9995)

Android version

Reproduced on android version 10, 11 & 12

Impacted devices

No specific device needed

Installation method

Gradle dependency

Dependency Versions

kotlin: 1.8.10
stripe-android: 20.33.0
Android Gradle Plugin: 7.4.2

SDK classes

PaymentSheet

Additionnal information

I've already reported translation errors that has been solved here : #5058

@tillh-stripe
Copy link
Collaborator

Hi @FlorentDambreville 👋 Can you let us know which locale you’re seeing this issue with? I tested it with en_US and en_CA, and I’m seeing the desired message for the test card.

@tillh-stripe tillh-stripe self-assigned this Oct 23, 2023
@tillh-stripe tillh-stripe added this to To do in Tracking via automation Oct 23, 2023
@tillh-stripe tillh-stripe moved this from To do to Waiting on Asker in Tracking Oct 23, 2023
@FlorentDambreville
Copy link
Author

I've retested with both of your locale without success : the message is not "insufficient funds"

Locale PaymentSheet
image image
Locale PaymentSheet
image image

@FlorentDambreville
Copy link
Author

I manage to get the more accurate error message with your sample app (using the same phone) :

My app Your sample app
image image

@FlorentDambreville
Copy link
Author

I am having trouble understand what is the difference between your sample & our app.
I have compared the sample code source and the way you configured the Payment Sheet but I can't find any differences with our way to do it.

I understand that you recently migrated the error localization. Now all Stripe Error messages are now localized based on the device locale. Is there a connection with our issue?

Can you give me a lead to help us fix our translation issue please?

@tillh-stripe
Copy link
Collaborator

Hmm, that’s odd. I’m not sure why your app behaves differently than our example app when used with the same locale. Can you share the ID of a PaymentIntent where you’ve seen the issue?

@tillh-stripe
Copy link
Collaborator

Thanks for sending the IDs over. I was able to see that their confirmation flows invoke 3D Secure, which isn’t the case for the merchant in our own test app. And that explains why both apps are behaving differently: Our error message mapping is correct when not using 3DS, but broken otherwise.

I’m putting up a pull request to align the two, which should go out in next week’s release.

@FlorentDambreville
Copy link
Author

Thanks for the fix 🙇

Now the message is the right one ✅
Unfortunately, the message is not translated :(

I've open a new issue : #7581

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

Successfully merging a pull request may close this issue.

2 participants