[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.