Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ internal interface PaymentMethodDefinition {
*/
val type: PaymentMethod.Type

val supportedAsSavedPaymentMethod: Boolean

fun requiresMandate(metadata: PaymentMethodMetadata): Boolean

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ internal data class PaymentMethodMetadata(
}

fun supportedSavedPaymentMethodTypes(): List<PaymentMethod.Type> {
val supportedTypes = supportedPaymentMethodDefinitions().filter { paymentMethodDefinition ->
paymentMethodDefinition.supportedAsSavedPaymentMethod
}.map {
val supportedTypes = supportedPaymentMethodDefinitions().map {
it.type
}.filter { paymentMethodType ->
SupportedSavedPaymentMethodTypes.all.contains(paymentMethodType)
}

return if (allowsLinkInSavedPaymentMethods) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.stripe.android.lpmfoundations.paymentmethod

import com.stripe.android.model.PaymentMethod

internal object SupportedSavedPaymentMethodTypes {
val all: List<PaymentMethod.Type> = listOf(
PaymentMethod.Type.Card,
PaymentMethod.Type.USBankAccount,
PaymentMethod.Type.SepaDebit,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -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

override val supportedAsSavedPaymentMethod: Boolean = false

override fun requirementsToBeUsedAsNewPaymentMethod(
hasIntentToSetup: Boolean
): Set<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOfNotNull(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOfNotNull(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<AddPaymentMethodRequirement> = setOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import com.stripe.android.uicore.elements.SectionElement
internal object WeroDefinition : PaymentMethodDefinition {
override val type: PaymentMethod.Type = PaymentMethod.Type.Wero

override val supportedAsSavedPaymentMethod: Boolean = false

override fun requirementsToBeUsedAsNewPaymentMethod(
hasIntentToSetup: Boolean
): Set<AddPaymentMethodRequirement> = setOf(
Expand Down
Loading
Loading