libeufin

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

commit d2140959109061ff57a71270c95b729ca8205355
parent 8f1905961bac92fac9803577db8d3c02133cf299
Author: Antoine A <>
Date:   Wed, 24 Apr 2024 13:10:15 +0900

Fix payto name parsing

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt | 2+-
Mnexus/src/test/kotlin/Iso20022Test.kt | 6+++---
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt @@ -301,7 +301,7 @@ private fun XmlDestructor.payto(prefix: String): String? { val iban = opt("${prefix}Acct")?.one("Id")?.one("IBAN")?.text() return if (iban != null) { val payto = StringBuilder("payto://iban/$iban") - val name = opt(prefix)?.opt("Pty")?.one("Nm")?.text() + val name = opt(prefix) { opt("Nm")?.text() ?: opt("Pty")?.one("Nm")?.text() } if (name != null) { val urlEncName = URLEncoder.encode(name, "utf-8") payto.append("?receiver-name=$urlEncName") diff --git a/nexus/src/test/kotlin/Iso20022Test.kt b/nexus/src/test/kotlin/Iso20022Test.kt @@ -101,21 +101,21 @@ class Iso20022Test { amount = TalerAmount("EUR:2"), wireTransferSubject = "TestABC123", executionTime = instant("2024-04-18"), - creditPaytoUri = "payto://iban/DE20500105172419259181" + creditPaytoUri = "payto://iban/DE20500105172419259181?receiver-name=John+Smith" ), OutgoingPayment( messageId = "YF5QBARGQ0MNY0VK59S477VDG4", amount = TalerAmount("EUR:1.1"), wireTransferSubject = "This should fail because dummy", executionTime = instant("2024-04-18"), - creditPaytoUri = "payto://iban/DE20500105172419259181" + creditPaytoUri = "payto://iban/DE20500105172419259181?receiver-name=John+Smith" ), IncomingPayment( bankId = "BYLADEM1WOR-G2910276709458A2", amount = TalerAmount("EUR:3"), wireTransferSubject = "Taler FJDQ7W6G7NWX4H9M1MKA12090FRC9K7DA6N0FANDZZFXTR6QHX5G Test.,-", executionTime = instant("2024-04-12"), - debitPaytoUri = "payto://iban/DE84500105177118117964" + debitPaytoUri = "payto://iban/DE84500105177118117964?receiver-name=John+Smith" ), Reversal( msgId = "G27KNKZAR5DV7HRB085YMA9GB4",