gnunet-svn
[Top][All Lists]
Advanced

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

[libeufin] 01/02: Avoid processing invalid payments twice


From: gnunet
Subject: [libeufin] 01/02: Avoid processing invalid payments twice
Date: Tue, 31 Mar 2020 18:41:47 +0200

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

marcello pushed a commit to branch master
in repository libeufin.

commit 00f798e504398aaed4b17e8427814525faeeba11
Author: Marcello Stanisci <address@hidden>
AuthorDate: Tue Mar 31 18:35:08 2020 +0200

    Avoid processing invalid payments twice
---
 cli/python/libeufin-cli                           | 19 +++++++++++++++++++
 nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt   |  1 +
 nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt |  3 ++-
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/cli/python/libeufin-cli b/cli/python/libeufin-cli
index b891715..72a2d44 100755
--- a/cli/python/libeufin-cli
+++ b/cli/python/libeufin-cli
@@ -427,6 +427,25 @@ def crz(obj, account_id, date_range, nexus_base_url):
     resp = post(url, json=req)
     print(resp.content.decode("utf-8"))
 
+@taler.command(help="Trigger refunds for invalid incoming transactions")
+@click.pass_obj
+@click.option(
+    "--account-id",
+    help="Numerical ID of the customer at the Nexus",
+    required=True
+)
+@click.option(
+    "--bank-account-id",
+    help="Token that identifies one bank account belonging to --account-id",
+    required=True
+)
+@click.argument(
+  "nexus-base-url"
+)
+def refund(ctx, account_id, bank_account_id, nexus_base_url):
+
+
+
 @taler.command(help="Separate payments with Taler-subject from the rest")
 @click.pass_obj
 @click.option(
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
index 361cf6a..7db1461 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
@@ -23,6 +23,7 @@ class TalerIncomingPaymentEntry(id: EntityID<Long>) : 
LongEntity(id) {
     companion object : 
LongEntityClass<TalerIncomingPaymentEntry>(TalerIncomingPayments)
     var payment by EbicsRawBankTransactionEntry referencedOn 
TalerIncomingPayments.payment
     var valid by TalerIncomingPayments.valid
+    var processed by TalerIncomingPayments.processed
 }
 
 object EbicsRawBankTransactionsTable : LongIdTable() {
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
index 81773a8..726fbfe 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
@@ -641,7 +641,7 @@ fun main() {
                         )
                     }
                     TalerIncomingPaymentEntry.find {
-                        TalerIncomingPayments.processed eq false
+                        TalerIncomingPayments.processed eq false and 
TalerIncomingPayments.valid eq false
                     }.forEach {
                         createPain001entry(
                             Pain001Data(
@@ -653,6 +653,7 @@ fun main() {
                             ),
                             acctid.id.value
                         )
+                        it.processed = true
                     }
                 }
                 return@post

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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