New issue
Advanced search Search tips

Issue 606821 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Update the expiration date of expired verified local credit cards.

Project Member Reported by se...@chromium.org, Apr 26 2016

Issue description

A CL was recently added that had the effect of not filling an expired credit card expiration date in Autofill. 

For non verified cards, the expiration date will be updated whenever the user enters a non expired date for a credit card with the same number. However, this does not work for verified cards.

We should probably update the expiration date of an expired verified card if both the number and name on card match exactly.
 
Is this during manual entry or during autofill?

Comment 2 by se...@chromium.org, Apr 26 2016

This would be when a user fills the expired card and input an updated expiration date in a form. Or if the user enters all that information manually in the form.

Comment 3 Deleted

There's currently no method in personal_data_manager.h to update the expiration date of the server card. This is because it's overwritten by sync.

https://code.google.com/p/chromium/codesearch#chromium/src/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc&l=250

Wallet card sync overwrites everything except the unmasked card number. The correct approach is probably to let the Wallet servers know that the user has manually entered a new expiration date. This should be done through payments_client.h.

https://code.google.com/p/chromium/codesearch#chromium/src/components/autofill/core/browser/payments/payments_client.h

Then the sync server can pick up the updated expiration date from the Wallet server and send that down to clients.

Wallet server currently does not have the API to update the expiration date of the card. There _is_ API to unmask a card and update the expiration date in the same call, but that call requires CVC, which we do not plan to prompt in your use case.

+jstuppy@: Would it be possible to add the API that I've described? Alternatively, feel free to suggest better alternatives here.

Comment 5 by se...@chromium.org, Apr 26 2016

Oh! I was talking about local cards. But it might be good that have the discussion about server cards too.
Sounds good. What do you mean by "verified" local cards?
Cc: -jstuppy@chromium.org -jdonnelly@chromium.org
Components: -UI>Browser>Autofill>Payments

Comment 8 by se...@chromium.org, Apr 26 2016

A verified card is when the user entered/edited a card in the autofill settings page. Usually we never update verified data from inferred data (data deduced on form submission) but I think it would be worth it for expired credit cards if the name and number are equal.
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9af0021f08859cc6c3a3694087ddae4a7e1fbd3a

commit 9af0021f08859cc6c3a3694087ddae4a7e1fbd3a
Author: sebsg <sebsg@chromium.org>
Date: Tue Apr 26 21:56:05 2016

Update the expiration date of an expired credit card if the card number is the same and the name on the cards are an exact match.

BUG= 606821 
TEST=CreditCardTest

Review URL: https://codereview.chromium.org/1921003003

Cr-Commit-Position: refs/heads/master@{#389905}

[modify] https://crrev.com/9af0021f08859cc6c3a3694087ddae4a7e1fbd3a/components/autofill/core/browser/credit_card.cc
[modify] https://crrev.com/9af0021f08859cc6c3a3694087ddae4a7e1fbd3a/components/autofill/core/browser/credit_card_unittest.cc

Comment 10 by se...@chromium.org, Apr 27 2016

Status: Fixed (was: Started)

Sign in to add a comment