gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: add refund table


From: gnunet
Subject: [libeufin] branch master updated: add refund table
Date: Wed, 03 Feb 2021 09:42:42 +0100

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new b252736  add refund table
b252736 is described below

commit b252736bab5d7bee04178b15c659ed0aaf222200
Author: MS <ms@taler.net>
AuthorDate: Wed Feb 3 09:42:04 2021 +0100

    add refund table
---
 nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt    | 17 +++++++++++++
 nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt | 29 +++++++++++++++++-----
 2 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
index 40bbf5e..bec209d 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
@@ -58,6 +58,23 @@ class TalerRequestedPaymentEntity(id: EntityID<Long>) : 
LongEntity(id) {
     var creditAccount by TalerRequestedPaymentsTable.creditAccount
 }
 
+object TalerInvalidIncomingPaymentsTable : LongIdTable() {
+    val payment = reference("payment", NexusBankTransactionsTable)
+    val timestampMs = long("timestampMs")
+    val debtorPaytoUri = text("incomingPaytoUri")
+    val refunded = bool("refunded").default(true)
+}
+
+class TalerInvalidIncomingPaymentEntity(id: EntityID<Long>) : LongEntity(id) {
+    companion object : 
LongEntityClass<TalerInvalidIncomingPaymentEntity>(TalerInvalidIncomingPaymentsTable)
+
+    var payment by NexusBankTransactionEntity referencedOn 
TalerInvalidIncomingPaymentsTable.payment
+    var timestampMs by TalerInvalidIncomingPaymentsTable.timestampMs
+    var debtorPaytoUri by TalerInvalidIncomingPaymentsTable.debtorPaytoUri
+    var refunded by TalerInvalidIncomingPaymentsTable.refunded
+}
+
+
 /**
  * This is the table of the incoming payments.  Entries are merely "pointers" 
to the
  * entries from the raw payments table.
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
index d78e3bb..08dc4f9 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
@@ -382,19 +382,36 @@ private fun ingestIncoming(payment: 
NexusBankTransactionEntity, txDtls: Transact
         logger.warn("missing debtor agent")
         return
     }
+    if (debtorAgent.bic == null) {
+        logger.warn("Not allowing transactions missing the BIC.  IBAN and 
name: ${debtorIban}, $debtorName")
+        return
+    }
     val reservePub = extractReservePubFromSubject(subject)
-    if (reservePub == null) {
-        // FIXME: send back!
+    if (reservePub == null){
         logger.warn("could not find reserve pub in remittance information")
+        TalerInvalidIncomingPaymentEntity.new {
+            this.payment = payment
+            timestampMs = System.currentTimeMillis()
+            debtorPaytoUri = buildIbanPaytoUri(
+                debtorIban, debtorAgent.bic, debtorName, "DBIT"
+            )
+        }
+        // FIXME: send back!
         return
     }
+
     if (!CryptoUtil.checkValidEddsaPublicKey(reservePub)) {
         // FIXME: send back!
         logger.warn("invalid public key")
-        return
-    }
-    if (debtorAgent.bic == null) {
-        logger.warn("Not allowing transactions missing the BIC.  IBAN and 
name: ${debtorIban}, $debtorName")
+        TalerInvalidIncomingPaymentEntity.new {
+            this.payment = payment
+            timestampMs = System.currentTimeMillis()
+            debtorPaytoUri = buildIbanPaytoUri(
+                debtorIban, debtorAgent.bic, debtorName, "DBIT"
+            )
+        }
+        logger.warn("Invalid public key found")
+        // FIXME: send back!
         return
     }
     TalerIncomingPaymentEntity.new {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]