66 lines
2.4 KiB
Swift
66 lines
2.4 KiB
Swift
//
|
|
// Copyright 2023 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension Stripe.PaymentMethod {
|
|
|
|
public enum IDEAL: Equatable {
|
|
case oneTime(name: String, IDEALBank: IDEALBank)
|
|
case recurring(mandate: Mandate, name: String, email: String, IDEALBank: IDEALBank)
|
|
}
|
|
|
|
public enum IDEALBank: String, CaseIterable {
|
|
case ABN_AMRO = "abn_amro"
|
|
case ASN_BANK = "asn_bank"
|
|
case BUNQ = "bunq"
|
|
case ING = "ing"
|
|
case KNAB = "knab"
|
|
case N26 = "n26"
|
|
case RABOBANK = "rabobank"
|
|
case REGIOBANK = "regiobank"
|
|
case REVOLUT = "revolut"
|
|
case SNS_BANK = "sns_bank"
|
|
case TRIODOS_BANK = "triodos_bank"
|
|
case VAN_LANSCHOT = "van_lanschot"
|
|
case YOURSAFE = "yoursafe"
|
|
|
|
public var displayName: String {
|
|
switch self {
|
|
case .ABN_AMRO: return "ABN Amro"
|
|
case .ASN_BANK: return "ASN Bank"
|
|
case .BUNQ: return "bunq"
|
|
case .ING: return "ING"
|
|
case .KNAB: return "Knab"
|
|
case .N26: return "N26"
|
|
case .RABOBANK: return "Rabobank"
|
|
case .REGIOBANK: return "RegioBank"
|
|
case .REVOLUT: return "Revolut"
|
|
case .SNS_BANK: return "SNS Bank"
|
|
case .TRIODOS_BANK: return "Triodos Bank"
|
|
case .VAN_LANSCHOT: return "Van Lanschot Kempen"
|
|
case .YOURSAFE: return "Yoursafe"
|
|
}
|
|
}
|
|
|
|
public var image: UIImage? {
|
|
switch self {
|
|
case .ABN_AMRO: return UIImage(named: "ideal_abn_amro")
|
|
case .ASN_BANK: return UIImage(named: "ideal_asn")
|
|
case .BUNQ: return UIImage(named: "ideal_bunq")
|
|
case .ING: return UIImage(named: "ideal_ing")
|
|
case .KNAB: return UIImage(named: "ideal_knab")
|
|
case .N26: return UIImage(named: "ideal_n26")
|
|
case .RABOBANK: return UIImage(named: "ideal_rabobank")
|
|
case .REGIOBANK: return UIImage(named: "ideal_regiobank")
|
|
case .REVOLUT: return UIImage(named: "ideal_revolut")
|
|
case .SNS_BANK: return UIImage(named: "ideal_sns")
|
|
case .TRIODOS_BANK: return UIImage(named: "ideal_triodos_bank")
|
|
case .VAN_LANSCHOT: return UIImage(named: "ideal_van_lanchot")
|
|
case .YOURSAFE: return UIImage(named: "ideal_yoursafe")
|
|
}
|
|
}
|
|
}
|
|
}
|