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] CardInputWidget does not autofill card's expiry date or CVC depending on the autofill software #8889

Closed
mvettosi opened this issue Jul 24, 2024 · 4 comments
Labels

Comments

@mvettosi
Copy link

mvettosi commented Jul 24, 2024

Summary

When attempting to autofill credit card details with Google's password manager, all fields are correctly filled except for the CVC.
When using a third party one like 1Password, the CVC is filled but the expiry date isn't.

Code to reproduce

The example project in this repo already reproduces the issue.

Android version

Tried on both Android 10 and Android 14

Impacted devices

Not a device specific issue

Installation method

Reproducible on the example project.

Dependency Versions

Reproducible on the latest version of this repo, which is v20.48.1 at the time of writing

SDK classes

CardInputWidget

Video

Using Google's password manager:
https://github.com/user-attachments/assets/ca4cd2e7-eefb-4d6d-af24-6b7e70ddb0c9
Using 1Password:
https://github.com/user-attachments/assets/cf79d443-c28a-40dd-8db2-07e6131799bc

Other information

Because our flow requires us to collect card details at an earlier stage than the payment step, among with other issues, we are currently unable to migrate to PaymentSheet, which we understand is the most developed UI component at the moment.
We are also planning to use CardInputWidget inside an AndroidView to allow it to work in our Jetpack Compose screens. It would be great to hear if there's any alternative or component to achieve this result, or if there's any workaround for the reported issue.

@mvettosi mvettosi added the bug label Jul 24, 2024
@tjclawson-stripe
Copy link
Collaborator

Hey @mvettosi, as part of PaymentSheet we have Flow Controller which allows you to present our recommended UI for collecting payment information and then confirm the payment later in your own UI. Would this fit your use case?

@mvettosi
Copy link
Author

mvettosi commented Oct 7, 2024

Hi @tjclawson-stripe , thanks for the reply! Funny enough, despite this issue being opened several months ago, I was working again on this just now!

I did in the meantime found about the new capabilities of the PaymentSheet, and I see here that there are actually 4 different configurations with it:

  1. Accept a payment using PaymentSheet, which proceeds with the payment directly and it's obviously not my case
  2. Accept a payment using PaymentSheet.FlowController
  3. Set up a payment method using PaymentSheet
  4. Set up a payment method using PaymentSheet.FlowController

Could you clarify in practice what difference are between 2, 3 and 4?
My current understanding is that 2 sets up an "ephemeral" payment method that can be used for payment within the session or anyway with a time to live, while 3 and 4 allow to save a "permanent" payment method against stripe without inherent expiry, but even if I'm right, I'm still not sure what exactly changes between the last two.

Apologies if this is not the correct place to ask for this! Either way, we did realise the CardInputWidget is not actively maintained anymore so we switched to PaymentSheet, we just need to figure out the best way to use it.

@jaynewstrom-stripe
Copy link
Collaborator

@seanzhang-stripe could you help with this request?

@mvettosi we also have a discord server you can get real time help in: https://discord.com/invite/stripe

@mvettosi
Copy link
Author

@jaynewstrom-stripe awesome, thanks! I did end up figuring out in the meantime which was better for our flow, but I'll definitely use the discord server if I need more help.

Happy to close this issue for now, since it was remarked that there is no plan to fix the old CardsInputWidget and that PaymentSheet can be used instead.

Thanks all!

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

No branches or pull requests

3 participants