libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 950439387658d1a3c4c189d30147d391560068af
parent cef920187af269020e1d214c45bcf8b969128f7c
Author: Florian Dold <florian@dold.me>
Date:   Sun, 17 Jan 2021 00:47:46 +0100

bic is optional

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt | 1+
Msandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt | 24++++++++++++------------
2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/server/NexusServer.kt @@ -564,6 +564,7 @@ fun serverMain(dbName: String, host: String, port: Int) { authenticateRequest(call.request) } submitAllPaymentInitiations(client, accountId) + call.respond(object { }) return@post } diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/EbicsProtocolBackend.kt @@ -57,10 +57,10 @@ private val logger: Logger = LoggerFactory.getLogger("tech.libeufin.sandbox") data class PainParseResult( val creditorIban: String, val creditorName: String, - val creditorBic: String, - val debitorIban: String, - val debitorName: String, - val debitorBic: String, + val creditorBic: String?, + val debtorIban: String, + val debtorName: String, + val debtorBic: String?, val subject: String, val amount: Amount, val currency: String, @@ -504,7 +504,7 @@ private fun parsePain001(paymentRequest: String, initiatorName: String): PainPar focusElement.textContent } } - val creditorBic = requireUniqueChildNamed("CdtrAgt") { + val creditorBic = maybeUniqueChildNamed("CdtrAgt") { requireUniqueChildNamed("FinInstnId") { requireUniqueChildNamed("BIC") { focusElement.textContent @@ -525,9 +525,9 @@ private fun parsePain001(paymentRequest: String, initiatorName: String): PainPar currency = txDetails.amt.getAttribute("Ccy"), amount = Amount(txDetails.amt.textContent), subject = txDetails.subject, - debitorIban = debtorIban, - debitorName = debtorName, - debitorBic = debtorBic, + debtorIban = debtorIban, + debtorName = debtorName, + debtorBic = debtorBic, creditorName = txDetails.creditorName, creditorIban = txDetails.creditorIban, creditorBic = txDetails.creditorBic, @@ -550,13 +550,13 @@ private fun handleCct(paymentRequest: String, initiatorName: String, ctx: Reques transaction { try { BankAccountTransactionsTable.insert { - it[account] = getBankAccountFromIban(parseResult.debitorIban).id + it[account] = getBankAccountFromIban(parseResult.debtorIban).id it[creditorIban] = parseResult.creditorIban it[creditorName] = parseResult.creditorName it[creditorBic] = parseResult.creditorBic - it[debtorIban] = parseResult.debitorIban - it[debtorName] = parseResult.debitorName - it[debtorBic] = parseResult.debitorBic + it[debtorIban] = parseResult.debtorIban + it[debtorName] = parseResult.debtorName + it[debtorBic] = parseResult.debtorBic it[subject] = parseResult.subject it[amount] = parseResult.amount.toString() it[currency] = parseResult.currency