summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/accounts/KnownBankAccounts.kt
diff options
context:
space:
mode:
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.kt19
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")