I’m finding that the autofill credit card feature doesn’t work as desired the majority of times.
It seems to wig out when sites ask for credit card expiration dates in MM/YY format instead of MM/YYYY format. Sometimes it fills out a credit card’s expiration as 01/20 and sometimes I’ve even seen it fill it out as 20/23. When it asks in MM/YYYY format, I’ve never seen it not work as expected.
Is there a workaround to get this to work correctly?
PR #3768 apparently only addresses the problem when it is caused by the presence of Cyrillic characters in the expiration date placeholder.
@southerndoc Can you provide some examples of where the MM/YY format is not correctly filled? Perhaps if these can be diagnosed, someone will be able to do another PR to fix the issue on additional sites.
I DM’d you a website. Unfortunately the URL gives away my location.
The expiration date for my card is 03/2027. It entered the expiration as 20/27. I have a screen shot but I do not see where I have an option to post it.
I have a similar issue with the postal code/zip code field in the credit card file never auto filling. I may try to create a custom field based on a few fieldIDs to see if that solves the problem.
Based on testing, it seems like the auto-filling of credit card expiration dates requires the site to use a parameter named placeholder in the HTML code for the input field. This would have a value like placeholder = "MM/YY" to signal the expected format. If this is not present, then Bitwarden cannot determine how to properly format the expiration date.
So I believe the issue is not specifically related to the MM/YY date format (for example, this format is autofilled correctly on DoorDash.com and other sites), it is just a problem when the credit card form does not include the placeholder template that is required for the auto-filling to work correctly.
It’s not that a few sites has problems. I’d say 9/10 sites fills our credit card information wrong, and it’s not just Bitwarden that has issues, not even the built-in auto fill in iOS works.
It’s often the date, but quite often it’s also the security code. Occationally even the card number itself.
First I thought it was a language issue (since I purchase things in Swedish sometimes), but it’s not. It doesn’t even work with standard pages such as Paypal. And it’s not system/browser specific or tied to a certain card type. It’s simply just a globally broken feature that needs a complete overhaul.
This is an issue caused by how the payment form has been coded by the web developer for the site you are visiting. For example, many payment forms do not label or activate the expiration date input fields until after you have manually placed the cursor into the card number field and started typing.
The only solution would be to build a very large database of heuristics to try on each payment form (rules for identifying expiration date fields and methods for circumventing website controls that prevent those fields from being filled), but this would invariably cause the autofilling to be delayed, and likely also cause false positives (filling of expiration date data into fields that are not meant for that purpose).
If you have a few payment forms that you use frequently, then you may be able to use custom fields to solve the autofilling problems, but this is not a scalable approach (for the same reason that having Bitwarden build a list of custom rules would not be scalable).
I’ve found that a work-around that solves autofill problems on many payment forms is to autofill once, then click into the card number field (or for stubborn cases, click into all input fields), and then autofill again. This process can be completed fairly quickly using the new keyboard shortcut for autofilling card data — which must be defined by the user (I use Ctrl+$ )…