summaryrefslogtreecommitdiff
path: root/nexus
diff options
context:
space:
mode:
authorAntoine A <>2024-01-30 21:52:28 +0100
committerAntoine A <>2024-01-30 21:52:28 +0100
commitaf6b09f31537d016b45b3486e2cc815cb78e5db5 (patch)
treeb85209ea9bc43b02b1d3feb7597893a2ca1bf8a5 /nexus
parent3e473d71a91f0795f585e81f83add32af3aec114 (diff)
downloadlibeufin-af6b09f31537d016b45b3486e2cc815cb78e5db5.tar.gz
libeufin-af6b09f31537d016b45b3486e2cc815cb78e5db5.tar.bz2
libeufin-af6b09f31537d016b45b3486e2cc815cb78e5db5.zip
Fix notification parsingv0.9.4-dev.8
Diffstat (limited to 'nexus')
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt3
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt12
2 files changed, 7 insertions, 8 deletions
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
index c2ddfbb0..62d0e8ab 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
@@ -236,9 +236,6 @@ suspend fun ingestIncomingPayment(
) {
val reservePub = getTalerReservePub(payment)
if (reservePub == null) {
- logger.debug("Incoming payment with UID '${payment.bankId}'" +
- " has invalid subject: ${payment.wireTransferSubject}."
- )
val result = db.registerMalformedIncoming(
payment,
payment.amount,
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
index 67167fa6..bd0bdcea 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Iso20022.kt
@@ -326,9 +326,11 @@ private fun notificationForEachTx(
directionLambda: XmlDestructor.(Instant) -> Unit
) {
destructXml(xml, "Document") {
- one("BkToCstmrDbtCdtNtfctn") {
- each("Ntfctn") {
- each("Ntry") {
+ opt("BkToCstmrDbtCdtNtfctn")?.each("Ntfctn") {
+ each("Ntry") {
+ if (opt("RvslInd")?.bool() ?: false) {
+ logger.warn("Skip reversal transaction")
+ } else {
one("Sts") {
if (text() != "BOOK") {
one("Cd") {
@@ -339,8 +341,8 @@ private fun notificationForEachTx(
}
}
}
- val bookDate: Instant = one("BookgDt").one("Dt").dateTime().toInstant(ZoneOffset.UTC)
- one("NtryDtls").one("TxDtls") {
+ val bookDate: Instant = one("BookgDt").one("Dt").date().atStartOfDay().toInstant(ZoneOffset.UTC)
+ one("NtryDtls").each("TxDtls") {
directionLambda(this, bookDate)
}
}