diff options
author | Antoine A <> | 2024-04-24 13:10:15 +0900 |
---|---|---|
committer | Antoine A <> | 2024-04-24 13:10:15 +0900 |
commit | d2140959109061ff57a71270c95b729ca8205355 (patch) | |
tree | 504bcbe0248d4c56eddae25884ceb8e169a87bb6 /nexus | |
parent | 8f1905961bac92fac9803577db8d3c02133cf299 (diff) | |
download | libeufin-d2140959109061ff57a71270c95b729ca8205355.tar.gz libeufin-d2140959109061ff57a71270c95b729ca8205355.tar.bz2 libeufin-d2140959109061ff57a71270c95b729ca8205355.zip |
Fix payto name parsing
Diffstat (limited to 'nexus')
-rw-r--r-- | nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt | 2 | ||||
-rw-r--r-- | nexus/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 index 201ece97..192d7375 100644 --- 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 index 8ac022a8..c0ff4b98 100644 --- 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", |