New issue
Advanced search Search tips

Issue 602665 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocking:
issue 587995



Sign in to add a comment

Support card types (debit, credit, prepaid)

Project Member Reported by rouslan@chromium.org, Apr 12 2016

Issue description

Autofill support for specific card types, .e.g., "visa/debit"
 
Labels: -Type-Bug -Pri-3 M-54 Pri-2 Type-Feature
Labels: -M-54
Status: Started (was: Assigned)
Cc: rouslan@chromium.org
 Issue 708603  has been merged into this issue.
Cc: -rouslan@chromium.org
Summary: Support card types (debit, credit, prepaid) (was: Autofill support for specific card types, .e.g., "visa/debit")
Project Member

Comment 7 by bugdroid1@chromium.org, May 1 2017

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

commit 4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f
Author: rouslan <rouslan@chromium.org>
Date: Mon May 01 17:49:16 2017

Rename card 'type' into 'issuer network.'

Autofill and payments code is using the word 'type' to mean 'issuer
network,' e.g., Visa, MasterCard, AmEx. In order to differentiate
between credit/debit/prepaid card types in an upcoming patch, the
current instances of the word 'type' need to be renamed to 'issuer
network.' The changes are in:

1) Autofill table.
2) Method names.
3) Variable names.
4) Comments.

The catalog of renames:
----------------------------------------------------------
| BEFORE                   | AFTER                       |
----------------------------------------------------------
| AcceptedCardTypes        | AcceptedIssuerNetworks      |
| basic_card_payment_type  | basic_card_issuer_network   |
| BasicCardPaymentType     | BasicCardIssuerNetwork      |
| "card type"              | "card issuer network"       |
| CardTypeInfo             | CardIssuerNetwork           |
| card_type                | issuer_network              |
| CardTypes                | CardIssuerNetworks          |
| CreditCardType           | CardNetwork                 |
| CreditCard::type         | CreditCard::network         |
| masked_credit_cards.type | masked_credit_cards.network |
| TypeAndLastFourDigits    | NetworkAndLastFourDigits    |
| TypeForDisplay           | NetworkForDisplay           |
| TypeForFill              | NetworkForFill              |
| TypeForMaskedCard        | NetworkForMaskedCard        |
| CardTypeForBasicCardPaymentType |                      |
|               | IssuerNetworkForBasicCardIssuerNetwork |
----------------------------------------------------------

Bonus:
* This patch has been run through `git cl lint` and `git cl format` to
  improve the code quality of the affected files.
* autofill_sync_constants have been removed because they were not used
  anywhere.

BUG= 602665 

Review-Url: https://codereview.chromium.org/2844463004
Cr-Commit-Position: refs/heads/master@{#468350}

[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentApp.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/AutofillPaymentInstrument.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/payments/CardEditor.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/AutofillLocalCardEditor.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill/CreditCardNumberFormattingTextWatcher.java
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/autofill/android/personal_data_manager_android.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/autofill/android/personal_data_manager_android.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/cocoa/autofill/save_card_bubble_view_bridge.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/payments/credit_card_editor_view_controller.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_credit_card_filling_infobar_delegate_mobile.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_data_util.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_data_util.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_manager.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_manager_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_metrics_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc
[delete] https://crrev.com/b85de8ac470aef12f8d666b881cd9888a8b2e645/components/autofill/core/browser/autofill_sync_constants.cc
[delete] https://crrev.com/b85de8ac470aef12f8d666b881cd9888a8b2e645/components/autofill/core/browser/autofill_sync_constants.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/autofill_test_utils.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/credit_card_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/personal_data_manager_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/validation.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/validation.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_table_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/core/browser/webdata/autofill_wallet_syncable_service.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/autofill/ios/browser/credit_card_util.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/payments/content/payment_request_state.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/payments/core/autofill_payment_instrument.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/test/data/web_database/version_70.sql
[add] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/test/data/web_database/version_71.sql
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/BUILD.gn
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database_migration_unittest.cc
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/components/webdata/common/web_database_table.h
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_request_coordinator.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/payments/payment_request_view_controller.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/settings/autofill_credit_card_edit_collection_view_controller.mm
[modify] https://crrev.com/4e981bd3206d558e19b9dd04ef9c83bd2ccb6b0f/ios/chrome/browser/ui/settings/material_cell_catalog_view_controller.mm

Cc: bbergher@chromium.org zkoch@chromium.org
Zach, check out the Android UI change in this video:

https://drive.google.com/open?id=0BwnAxYoFTeYPdGJEVVpyR1p6TTA

Is this what you had in mind? My profile in the video has one card of "unknown" card type.

Comment 9 by zkoch@chromium.org, May 11 2017

Is it set up to only express constraints when they exist? So if I just have "basic-card", we don't show anything right?
Right.
We also don't show anything if your have supportedTypes:['debit','credit','prepaid'], because that's all of them.
This is really cool. What happens when, say, only Android Pay and Debit Cards are accepted?
> What happens when, say, only Android Pay and Debit Cards are accepted?

The UI for Payments section would look like this:

  Debit cards are accepted.
  [Android Pay]         [icon]
  [MasterCard...1234]   [icon]
I think that's reasonable.
Project Member

Comment 15 by bugdroid1@chromium.org, Jun 7 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/9d69e66cab58807f66f63b41e3f5cbeab6f0b5fb

commit 9d69e66cab58807f66f63b41e3f5cbeab6f0b5fb
Author: Rouslan Solomakhin <rouslan@google.com>
Date: Wed Jun 07 14:31:37 2017

Issue 684549 has been merged into this issue.
Components: -UI>Browser>Autofill>Payments UI>Browser>Payments
Project Member

Comment 18 by bugdroid1@chromium.org, Jun 30 2017

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

commit 90b436d76ede289c1012e0d798457f4832c63bfd
Author: mahmadi <mahmadi@chromium.org>
Date: Fri Jun 30 21:56:44 2017

[Payment Request] Displays accepted card types (credit, debit, etc) in iOS

- Moves parsing of the accepted card types to data_util.
- Displays accepted card types in the payment method selector and credit
  card editor.

BUG= 602665 ,  602666 

screenshots: https://drive.google.com/file/d/0B-GXJsF3pXyjS2ZlZHoyODRfS2c/view?usp=sharing
Review-Url: https://codereview.chromium.org/2963163002
Cr-Commit-Position: refs/heads/master@{#483836}

[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/content/payment_request_spec.cc
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/core/payment_request_data_util.cc
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/components/payments/core/payment_request_data_util.h
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/payments/payment_request.h
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/payments/payment_request.mm
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/ui/payments/credit_card_edit_mediator.mm
[modify] https://crrev.com/90b436d76ede289c1012e0d798457f4832c63bfd/ios/chrome/browser/ui/payments/payment_method_selection_mediator.mm

Moe: Is this completely implemented on iOS now?
Cc: -zkoch@chromium.org -bbergher@chromium.org
Owner: mahmadi@chromium.org
Off to Moe for verification that this works on iOS.
Status: Untriaged (was: Started)
Status: Started (was: Untriaged)

Comment 23 by ma...@chromium.org, Jul 31 2017

Is this required for v1 of PR on iOS? It seems like we just added to Android after being live for 6 months and no one complained.
v2 is OK.
Status: Untriaged (was: Started)
This actually already works on iOS. Marking as fixed.
Status: Fixed (was: Untriaged)

Sign in to add a comment