diff options
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt b/wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt index 0dcb18e..a0ce956 100644 --- a/wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt +++ b/wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt @@ -16,6 +16,7 @@ package net.taler.wallet.accounts +import android.net.Uri import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -48,14 +49,28 @@ sealed class PaytoUri( @Serializable @SerialName("iban") -class PaytoUriIBAN( +class PaytoUriIban( val iban: String, + val bic: String? = "SANDBOXX", override val targetPath: String, override val params: Map<String, String>, ) : PaytoUri( isKnown = true, targetType = "iban", -) +) { + val paytoUri: String + get() = Uri.Builder() + .scheme("payto") + .appendEncodedPath("/$targetType") + .apply { if (bic != null) appendPath(bic) } + .appendPath(iban) + .apply { + params.forEach { (key, value) -> + appendQueryParameter(key, value) + } + } + .build().toString() +} @Serializable @SerialName("x-taler-bank") |