From 4eb6e91fc6911ff40b179757cd10aafe22c7b0b3 Mon Sep 17 00:00:00 2001 From: System Administrator Date: Fri, 29 May 2026 10:27:30 -0700 Subject: [PATCH 1/4] Centralize logic for which payment methods we support as saved payment methods --- .../paymentmethod/PaymentMethodDefinition.kt | 2 -- .../paymentmethod/PaymentMethodMetadata.kt | 6 +++--- .../paymentmethod/SupportedSavedPaymentMethodTypes.kt | 11 +++++++++++ .../paymentmethod/definitions/AffirmDefinition.kt | 2 +- .../definitions/AfterpayClearpayDefinition.kt | 2 -- .../paymentmethod/definitions/AlipayDefinition.kt | 2 -- .../paymentmethod/definitions/AlmaDefinition.kt | 2 -- .../paymentmethod/definitions/AmazonPayDefinition.kt | 2 -- .../definitions/AuBecsDebitDefinition.kt | 2 -- .../paymentmethod/definitions/BacsDebitDefinition.kt | 2 -- .../paymentmethod/definitions/BancontactDefinition.kt | 2 -- .../paymentmethod/definitions/BillieDefinition.kt | 2 -- .../paymentmethod/definitions/BlikDefinition.kt | 2 -- .../paymentmethod/definitions/BoletoDefinition.kt | 2 -- .../paymentmethod/definitions/CardDefinition.kt | 2 -- .../paymentmethod/definitions/CashAppPayDefinition.kt | 2 -- .../paymentmethod/definitions/CryptoDefinition.kt | 2 -- .../paymentmethod/definitions/EpsDefinition.kt | 2 -- .../paymentmethod/definitions/FpxDefinition.kt | 2 -- .../paymentmethod/definitions/GrabPayDefinition.kt | 2 -- .../paymentmethod/definitions/IdealWeroDefinition.kt | 2 -- .../definitions/InstantDebitsDefinition.kt | 2 -- .../paymentmethod/definitions/KlarnaDefinition.kt | 2 -- .../paymentmethod/definitions/KonbiniDefinition.kt | 2 -- .../definitions/LinkCardBrandDefinition.kt | 2 -- .../paymentmethod/definitions/MobilePayDefinition.kt | 2 -- .../paymentmethod/definitions/MultibancoDefinition.kt | 2 -- .../paymentmethod/definitions/OxxoDefinition.kt | 2 -- .../paymentmethod/definitions/P24Definition.kt | 2 -- .../paymentmethod/definitions/PayByBankDefinition.kt | 2 -- .../paymentmethod/definitions/PayNowDefinition.kt | 2 -- .../paymentmethod/definitions/PayPalDefinition.kt | 2 -- .../paymentmethod/definitions/PayPayDefinition.kt | 2 -- .../paymentmethod/definitions/PromptPayDefinition.kt | 2 -- .../paymentmethod/definitions/RevolutPayDefinition.kt | 2 -- .../paymentmethod/definitions/SatispayDefinition.kt | 2 -- .../paymentmethod/definitions/SepaDebitDefinition.kt | 2 -- .../paymentmethod/definitions/SunbitDefinition.kt | 2 -- .../paymentmethod/definitions/SwishDefinition.kt | 2 -- .../paymentmethod/definitions/TwintDefinition.kt | 2 -- .../definitions/UsBankAccountDefinition.kt | 2 -- .../paymentmethod/definitions/WeChatPayDefinition.kt | 2 -- .../paymentmethod/definitions/WeroDefinition.kt | 2 +- .../paymentmethod/definitions/ZipDefinition.kt | 2 -- .../repositories/CustomerApiRepository.kt | 7 ++----- .../paymentsheet/state/PaymentElementLoader.kt | 7 ++----- 46 files changed, 20 insertions(+), 95 deletions(-) create mode 100644 paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodDefinition.kt index ee4c48b1deb..de604fa6a71 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodDefinition.kt @@ -8,8 +8,6 @@ internal interface PaymentMethodDefinition { */ val type: PaymentMethod.Type - val supportedAsSavedPaymentMethod: Boolean - fun requiresMandate(metadata: PaymentMethodMetadata): Boolean /** diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadata.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadata.kt index cfb111be724..6d32b29bd1b 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadata.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadata.kt @@ -157,10 +157,10 @@ internal data class PaymentMethodMetadata( } fun supportedSavedPaymentMethodTypes(): List { - val supportedTypes = supportedPaymentMethodDefinitions().filter { paymentMethodDefinition -> - paymentMethodDefinition.supportedAsSavedPaymentMethod - }.map { + val supportedTypes = supportedPaymentMethodDefinitions().map { it.type + }.filter { paymentMethodType -> + SupportedSavedPaymentMethodTypes.all.contains(paymentMethodType) } return if (allowsLinkInSavedPaymentMethods) { diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt new file mode 100644 index 00000000000..a219db2ad3e --- /dev/null +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt @@ -0,0 +1,11 @@ +package com.stripe.android.lpmfoundations.paymentmethod + +import com.stripe.android.model.PaymentMethod + +internal object SupportedSavedPaymentMethodTypes { + val all: List = listOf( + PaymentMethod.Type.Card, + PaymentMethod.Type.USBankAccount, + PaymentMethod.Type.SepaDebit, + ) +} \ No newline at end of file diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt index e53cd850cbc..f25f165c502 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt @@ -17,7 +17,7 @@ import com.stripe.android.ui.core.R as UiCoreR internal object AffirmDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Affirm - override val supportedAsSavedPaymentMethod: Boolean = false + val supportedAsSavedPaymentMethod: Boolean = false override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AfterpayClearpayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AfterpayClearpayDefinition.kt index 4434fc4efcd..5edeb200501 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AfterpayClearpayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AfterpayClearpayDefinition.kt @@ -19,8 +19,6 @@ import com.stripe.android.ui.core.R as UiCoreR internal object AfterpayClearpayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.AfterpayClearpay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlipayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlipayDefinition.kt index 20fd04040bd..4c41ee42f91 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlipayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlipayDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object AlipayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Alipay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlmaDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlmaDefinition.kt index 7cdf648b083..11fbe104a84 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlmaDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AlmaDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object AlmaDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Alma - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AmazonPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AmazonPayDefinition.kt index ce2254b7d6f..6d8eb47ba4a 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AmazonPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AmazonPayDefinition.kt @@ -14,8 +14,6 @@ import com.stripe.android.uicore.elements.IdentifierSpec internal object AmazonPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.AmazonPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AuBecsDebitDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AuBecsDebitDefinition.kt index ce7965dd20c..8172620271b 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AuBecsDebitDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AuBecsDebitDefinition.kt @@ -12,8 +12,6 @@ import com.stripe.android.ui.core.elements.SharedDataSpec internal object AuBecsDebitDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.AuBecsDebit - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BacsDebitDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BacsDebitDefinition.kt index 2fe0a677a2f..a0d9bbf7365 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BacsDebitDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BacsDebitDefinition.kt @@ -18,8 +18,6 @@ import com.stripe.android.uicore.elements.IdentifierSpec internal object BacsDebitDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.BacsDebit - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BancontactDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BancontactDefinition.kt index e30372e534d..56d5c406055 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BancontactDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BancontactDefinition.kt @@ -14,8 +14,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object BancontactDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Bancontact - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOfNotNull( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BillieDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BillieDefinition.kt index fe84b601c89..5801565fd22 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BillieDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BillieDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object BillieDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Billie - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BlikDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BlikDefinition.kt index fd9f00f8744..161083a0108 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BlikDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BlikDefinition.kt @@ -14,8 +14,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object BlikDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Blik - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BoletoDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BoletoDefinition.kt index 053f0499f93..b161d90cd2e 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BoletoDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/BoletoDefinition.kt @@ -21,8 +21,6 @@ import com.stripe.android.uicore.elements.SimpleTextFieldController internal object BoletoDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Boleto - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CardDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CardDefinition.kt index 351c4aceec3..c91886002c9 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CardDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CardDefinition.kt @@ -47,8 +47,6 @@ import com.stripe.android.ui.core.R as PaymentsUiCoreR internal object CardDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Card - override val supportedAsSavedPaymentMethod: Boolean = true - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CashAppPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CashAppPayDefinition.kt index 83fc1422c9f..09a7041ecbf 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CashAppPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CashAppPayDefinition.kt @@ -14,8 +14,6 @@ import com.stripe.android.uicore.elements.IdentifierSpec internal object CashAppPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.CashAppPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CryptoDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CryptoDefinition.kt index af11343a2ff..bb3ae175411 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CryptoDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CryptoDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object CryptoDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Crypto - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/EpsDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/EpsDefinition.kt index b8e9c4d7298..3d1c71bc44d 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/EpsDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/EpsDefinition.kt @@ -20,8 +20,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object EpsDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Eps - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/FpxDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/FpxDefinition.kt index 8863d0b0429..69c84113e2e 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/FpxDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/FpxDefinition.kt @@ -19,8 +19,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object FpxDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Fpx - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/GrabPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/GrabPayDefinition.kt index cfc51573393..d4bfec3d3b4 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/GrabPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/GrabPayDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object GrabPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.GrabPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/IdealWeroDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/IdealWeroDefinition.kt index 589feb84b0b..e97f6f48c9e 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/IdealWeroDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/IdealWeroDefinition.kt @@ -14,8 +14,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object IdealWeroDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Ideal - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOfNotNull( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/InstantDebitsDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/InstantDebitsDefinition.kt index 55145544263..57d8fff689c 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/InstantDebitsDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/InstantDebitsDefinition.kt @@ -14,8 +14,6 @@ internal object InstantDebitsDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Link - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KlarnaDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KlarnaDefinition.kt index 9c335559eaf..e7d09a64b55 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KlarnaDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KlarnaDefinition.kt @@ -27,8 +27,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object KlarnaDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Klarna - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KonbiniDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KonbiniDefinition.kt index 83502f14c9f..fe8ee1204e4 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KonbiniDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/KonbiniDefinition.kt @@ -21,8 +21,6 @@ import com.stripe.android.uicore.elements.SimpleTextFieldController internal object KonbiniDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Konbini - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/LinkCardBrandDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/LinkCardBrandDefinition.kt index bc4ead3f927..7bd9dbe2a22 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/LinkCardBrandDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/LinkCardBrandDefinition.kt @@ -14,8 +14,6 @@ internal object LinkCardBrandDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Link - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MobilePayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MobilePayDefinition.kt index 2d2beb0021d..cb9cdf14874 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MobilePayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MobilePayDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object MobilePayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.MobilePay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MultibancoDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MultibancoDefinition.kt index 66111fcad43..deeca64ee9d 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MultibancoDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/MultibancoDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.R internal object MultibancoDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Multibanco - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/OxxoDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/OxxoDefinition.kt index 2ef409eea43..761cceaf1ba 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/OxxoDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/OxxoDefinition.kt @@ -12,8 +12,6 @@ import com.stripe.android.ui.core.elements.SharedDataSpec internal object OxxoDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Oxxo - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/P24Definition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/P24Definition.kt index 3cf315883c3..732b1fb4d08 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/P24Definition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/P24Definition.kt @@ -20,8 +20,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object P24Definition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.P24 - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayByBankDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayByBankDefinition.kt index c4bfb81f600..0539aa15665 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayByBankDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayByBankDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object PayByBankDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.PayByBank - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayNowDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayNowDefinition.kt index fec687fa04e..772e9ab7cb3 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayNowDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayNowDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object PayNowDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.PayNow - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requiresMandate(metadata: PaymentMethodMetadata): Boolean = false override fun requirementsToBeUsedAsNewPaymentMethod(hasIntentToSetup: Boolean): Set { diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPalDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPalDefinition.kt index 44591407ef2..54b11f74ebc 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPalDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPalDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object PayPalDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.PayPal - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPayDefinition.kt index ea870462ae3..80505c6d1bb 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PayPayDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object PayPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.PayPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requiresMandate(metadata: PaymentMethodMetadata): Boolean = false override fun requirementsToBeUsedAsNewPaymentMethod(hasIntentToSetup: Boolean): Set { diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PromptPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PromptPayDefinition.kt index ad394d0dd34..59b8bb44e8d 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PromptPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/PromptPayDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.R internal object PromptPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.PromptPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requiresMandate(metadata: PaymentMethodMetadata): Boolean = false override fun requirementsToBeUsedAsNewPaymentMethod(hasIntentToSetup: Boolean): Set { diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/RevolutPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/RevolutPayDefinition.kt index 489a0b25824..d26b384b0e6 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/RevolutPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/RevolutPayDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object RevolutPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.RevolutPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SatispayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SatispayDefinition.kt index 1c7b504af52..5e8373bbe20 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SatispayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SatispayDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object SatispayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Satispay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SepaDebitDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SepaDebitDefinition.kt index cabb80934fa..c989c921f6f 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SepaDebitDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SepaDebitDefinition.kt @@ -22,8 +22,6 @@ import com.stripe.android.uicore.elements.SimpleTextFieldController internal object SepaDebitDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.SepaDebit - override val supportedAsSavedPaymentMethod: Boolean = true - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SunbitDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SunbitDefinition.kt index 89138e14dfd..ce0fc958de0 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SunbitDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SunbitDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object SunbitDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Sunbit - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SwishDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SwishDefinition.kt index de0cb222bbd..3a056c5e113 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SwishDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/SwishDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object SwishDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Swish - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/TwintDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/TwintDefinition.kt index 2d56a44d312..d7c19dcc016 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/TwintDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/TwintDefinition.kt @@ -13,8 +13,6 @@ import com.stripe.android.ui.core.elements.MandateTextElement internal object TwintDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Twint - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf() diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/UsBankAccountDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/UsBankAccountDefinition.kt index 61adf044a7c..6dfb57c5e06 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/UsBankAccountDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/UsBankAccountDefinition.kt @@ -15,8 +15,6 @@ import com.stripe.android.uicore.elements.FormElement internal object UsBankAccountDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.USBankAccount - override val supportedAsSavedPaymentMethod: Boolean = true - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeChatPayDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeChatPayDefinition.kt index 2f0f6c4e986..9a3d5ae353b 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeChatPayDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeChatPayDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object WeChatPayDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.WeChatPay - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt index 0d669f62959..d0020a74dec 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt @@ -18,7 +18,7 @@ import com.stripe.android.uicore.elements.SectionElement internal object WeroDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Wero - override val supportedAsSavedPaymentMethod: Boolean = false + val supportedAsSavedPaymentMethod: Boolean = false override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/ZipDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/ZipDefinition.kt index e6d648e1f64..ac02671d24c 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/ZipDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/ZipDefinition.kt @@ -11,8 +11,6 @@ import com.stripe.android.ui.core.R internal object ZipDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Zip - override val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/repositories/CustomerApiRepository.kt b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/repositories/CustomerApiRepository.kt index 820a3f6e4bb..deae9b8a63c 100644 --- a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/repositories/CustomerApiRepository.kt +++ b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/repositories/CustomerApiRepository.kt @@ -5,6 +5,7 @@ import com.stripe.android.core.Logger import com.stripe.android.core.exception.StripeException import com.stripe.android.core.injection.IOContext import com.stripe.android.core.networking.ApiRequest +import com.stripe.android.lpmfoundations.paymentmethod.SupportedSavedPaymentMethodTypes import com.stripe.android.model.Customer import com.stripe.android.model.ListPaymentMethodsParams import com.stripe.android.model.PaymentMethod @@ -57,11 +58,7 @@ internal class CustomerApiRepository @Inject constructor( silentlyFail: Boolean, ): Result> = withContext(workContext) { val requests = types.filter { paymentMethodType -> - paymentMethodType in setOf( - PaymentMethod.Type.Card, - PaymentMethod.Type.USBankAccount, - PaymentMethod.Type.SepaDebit, - ) + paymentMethodType in SupportedSavedPaymentMethodTypes.all }.map { paymentMethodType -> async { stripeRepository.getPaymentMethods( diff --git a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/state/PaymentElementLoader.kt b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/state/PaymentElementLoader.kt index f2a2cf76dc6..34987650204 100644 --- a/paymentsheet/src/main/java/com/stripe/android/paymentsheet/state/PaymentElementLoader.kt +++ b/paymentsheet/src/main/java/com/stripe/android/paymentsheet/state/PaymentElementLoader.kt @@ -23,6 +23,7 @@ import com.stripe.android.lpmfoundations.paymentmethod.AnalyticsMetadata import com.stripe.android.lpmfoundations.paymentmethod.CustomerMetadata import com.stripe.android.lpmfoundations.paymentmethod.IntegrationMetadata import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadata +import com.stripe.android.lpmfoundations.paymentmethod.SupportedSavedPaymentMethodTypes import com.stripe.android.lpmfoundations.paymentmethod.create import com.stripe.android.model.ClientAttributionMetadata import com.stripe.android.model.ElementsSession @@ -435,11 +436,7 @@ internal class DefaultPaymentElementLoader @Inject constructor( customerRepository.getPaymentMethods( customerId = customer.id, ephemeralKeySecret = accessType.ephemeralKeySecret, - types = listOf( - PaymentMethod.Type.Card, - PaymentMethod.Type.SepaDebit, - PaymentMethod.Type.USBankAccount, - ), // These are the only payment method types we support as saved payment methods. + types = SupportedSavedPaymentMethodTypes.all, silentlyFail = paymentConfiguration.get().isLiveMode(), ) } From 6c655ed84dc67d384f186220a68aea822018c84c Mon Sep 17 00:00:00 2001 From: System Administrator Date: Fri, 29 May 2026 10:31:42 -0700 Subject: [PATCH 2/4] fix lint and test --- .../paymentmethod/SupportedSavedPaymentMethodTypes.kt | 2 +- .../paymentmethod/definitions/AffirmDefinition.kt | 2 -- .../paymentmethod/PaymentMethodMetadataTest.kt | 5 ++--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt index a219db2ad3e..ce1ac5a4434 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/SupportedSavedPaymentMethodTypes.kt @@ -8,4 +8,4 @@ internal object SupportedSavedPaymentMethodTypes { PaymentMethod.Type.USBankAccount, PaymentMethod.Type.SepaDebit, ) -} \ No newline at end of file +} diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt index f25f165c502..fe6dfd30ac0 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/AffirmDefinition.kt @@ -17,8 +17,6 @@ import com.stripe.android.ui.core.R as UiCoreR internal object AffirmDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Affirm - val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( diff --git a/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataTest.kt b/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataTest.kt index 0114a6b4f47..c88b887ee0d 100644 --- a/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataTest.kt +++ b/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataTest.kt @@ -14,7 +14,6 @@ import com.stripe.android.lpmfoundations.luxe.SupportedPaymentMethod import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.DEFAULT_CUSTOMER_INTEGRATION_METADATA import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.DEFAULT_CUSTOMER_METADATA import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.getDefaultCustomerMetadata -import com.stripe.android.lpmfoundations.paymentmethod.definitions.AffirmDefinition import com.stripe.android.model.CardBrand import com.stripe.android.model.ClientAttributionMetadata import com.stripe.android.model.ElementsSession @@ -408,8 +407,8 @@ internal class PaymentMethodMetadataTest { } @Test - fun `supportedSavedPaymentMethodTypes filters payment_methods where supportedAsSavedPaymentMethod is false`() { - assertThat(AffirmDefinition.supportedAsSavedPaymentMethod).isFalse() + fun `supportedSavedPaymentMethodTypes filters payment_methods not in SupportedSavedPaymentMethodTypes`() { + assertThat(SupportedSavedPaymentMethodTypes.all).doesNotContain(PaymentMethod.Type.Affirm.code) val metadata = PaymentMethodMetadataFactory.create( stripeIntent = PaymentIntentFixtures.PI_REQUIRES_PAYMENT_METHOD.copy( paymentMethodTypes = listOf("card", "affirm", "sepa_debit"), From 1996f207961538d34dca4f7c6f768b06f0c212a8 Mon Sep 17 00:00:00 2001 From: System Administrator Date: Fri, 29 May 2026 11:42:38 -0700 Subject: [PATCH 3/4] Clean up --- .../lpmfoundations/paymentmethod/definitions/WeroDefinition.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt index d0020a74dec..aa1ef3b7e60 100644 --- a/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt +++ b/paymentsheet/src/main/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinition.kt @@ -18,8 +18,6 @@ import com.stripe.android.uicore.elements.SectionElement internal object WeroDefinition : PaymentMethodDefinition { override val type: PaymentMethod.Type = PaymentMethod.Type.Wero - val supportedAsSavedPaymentMethod: Boolean = false - override fun requirementsToBeUsedAsNewPaymentMethod( hasIntentToSetup: Boolean ): Set = setOf( From 160c642dba223ea4b236bd1afc518864c705fa93 Mon Sep 17 00:00:00 2001 From: System Administrator Date: Fri, 29 May 2026 13:40:21 -0700 Subject: [PATCH 4/4] Fix test --- .../paymentmethod/definitions/WeroDefinitionTest.kt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinitionTest.kt b/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinitionTest.kt index 0d6b83d61cf..174dd56fd4f 100644 --- a/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinitionTest.kt +++ b/paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/WeroDefinitionTest.kt @@ -89,11 +89,6 @@ class WeroDefinitionTest { assertThat(WeroDefinition.requiresMandate(metadata)).isFalse() } - @Test - fun `supportedAsSavedPaymentMethod is false`() { - assertThat(WeroDefinition.supportedAsSavedPaymentMethod).isFalse() - } - private fun checkCountryField( formElements: List, position: Int,