diff --git a/StripePaymentSheet/StripePaymentSheet/Resources/Localizations/en.lproj/Localizable.strings b/StripePaymentSheet/StripePaymentSheet/Resources/Localizations/en.lproj/Localizable.strings index 50c3a96d1f0..de7ba7fdec7 100644 --- a/StripePaymentSheet/StripePaymentSheet/Resources/Localizations/en.lproj/Localizable.strings +++ b/StripePaymentSheet/StripePaymentSheet/Resources/Localizations/en.lproj/Localizable.strings @@ -209,6 +209,9 @@ re-entering the security code (CVV/CVC). */ /* Text of a label for confirming an email address. E.g., 'Not user@example.com?' */ "Not %@?" = "Not %@?"; +/* Text on a screen for updating a cobranded card that indicates only card brand can be changed. */ +"Only card brand can be changed." = "Only card brand can be changed."; + /* Countdown timer text on a screen asking the user to approve a payment */ "Open your UPI app to approve your payment within %@" = "Open your UPI app to approve your payment within %@"; diff --git a/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift b/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift index 97ed0d3b54f..c686d068cb8 100644 --- a/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift +++ b/StripePaymentSheet/StripePaymentSheet/Source/Categories/String+Localized.swift @@ -119,6 +119,13 @@ extension String.Localized { ) } + static var only_card_brand_can_be_changed: String { + STPLocalizedString( + "Only card brand can be changed.", + "Text on a screen for updating a cobranded card that indicates only card brand can be changed." + ) + } + static var save: String { STPLocalizedString( "Save", diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift index 7e773d89b02..d92a7d9615c 100644 --- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift +++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewController.swift @@ -125,7 +125,7 @@ final class UpdatePaymentMethodViewController: UIViewController { }() private lazy var footnoteLabel: UITextView? = { - if viewModel.canEdit || viewModel.errorState { + if viewModel.errorState { return nil } let label = ElementsUI.makeSmallFootnote(theme: viewModel.appearance.asElementsTheme) diff --git a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewModel.swift b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewModel.swift index 4c0566fdd48..9c990e28355 100644 --- a/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewModel.swift +++ b/StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/ViewControllers/UpdatePaymentMethodViewModel.swift @@ -41,7 +41,7 @@ class UpdatePaymentMethodViewModel { lazy var footnote: String = { switch paymentMethod.type { case .card: - return .Localized.card_details_cannot_be_changed + return canEdit ? .Localized.only_card_brand_can_be_changed : .Localized.card_details_cannot_be_changed case .USBankAccount: return .Localized.bank_account_details_cannot_be_changed case .SEPADebit: diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerAppearance@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerAppearance@3x.png index 0ee2187f151..3e8c45193e1 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerAppearance@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerAppearance@3x.png differ diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerDarkMode@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerDarkMode@3x.png index 4e3f4417407..d204e2d64cf 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerDarkMode@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerDarkMode@3x.png differ diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerLightMode@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerLightMode@3x.png index 8f86aeb2c91..c12d8b14361 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerLightMode@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_EmbeddedSingleCard_UpdatePaymentMethodViewControllerLightMode@3x.png differ diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerAppearance@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerAppearance@3x.png index fd937e42f66..c566acde1ef 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerAppearance@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerAppearance@3x.png differ diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerDarkMode@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerDarkMode@3x.png index 95ce290de5b..c6522b9506d 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerDarkMode@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerDarkMode@3x.png differ diff --git a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerLightMode@3x.png b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerLightMode@3x.png index 578e93fcf98..86d755073e4 100644 Binary files a/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerLightMode@3x.png and b/Tests/ReferenceImages_64/StripePaymentSheetTests.UpdatePaymentMethodViewControllerSnapshotTests/test_UpdatePaymentMethodViewControllerLightMode@3x.png differ