commit 5596d7321e45c93cf39e6d4b1e0ca336aa9e47e5
parent 0a39bbc41c5502dd1305c41ed7e28e174223b0e9
Author: Antoine A <>
Date: Wed, 24 Sep 2025 13:16:27 +0200
nexus: parse accounts BIC during setup
Diffstat:
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/cli/EbicsSetup.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/cli/EbicsSetup.kt
@@ -266,10 +266,13 @@ class EbicsSetup: TalerCmd() {
append(partner.name)
append("' - ")
}
- for ((iban, currency) in partner.accounts) {
+ for ((currency, iban, bic) in partner.accounts) {
+ append(currency)
+ append('_')
append(iban)
append('_')
- append(currency)
+ append(bic)
+ append(' ')
}
append('\n')
}
@@ -299,6 +302,8 @@ class EbicsSetup: TalerCmd() {
if (account != null) {
if (account.currency != null && account.currency != cfg.currency)
logger.error("Expected CURRENCY '${cfg.currency}' from config got '${account.currency}' from bank")
+ if (account.bic != cfg.ebics.account.bic)
+ logger.error("Expected BIC '${cfg.ebics.account.bic}' from config got '${account.bic}' from bank")
} else if (partner.accounts.isNotEmpty()) {
val ibans = partner.accounts.map { it.iban }.joinToString(" ")
logger.error("Expected IBAN ${cfg.ebics.account.iban} from config got $ibans from bank")
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt
@@ -45,6 +45,7 @@ data class OrderInfo(
data class AccountInfo(
val currency: String,
val iban: String,
+ val bic: String
)
data class UserInfo(
val id: String,
@@ -115,12 +116,18 @@ object EbicsAdministrative {
val accounts = map("AccountInfo") {
var currency = attr("Currency")
lateinit var iban: String
+ lateinit var bic: String
each("AccountNumber") {
if (attr("international") == "true") {
iban = text()
}
}
- AccountInfo(currency, iban)
+ each("BankCode") {
+ if (attr("international") == "true") {
+ bic = text()
+ }
+ }
+ AccountInfo(currency, iban, bic)
}
val orders = map("OrderInfo") {
OrderInfo(