summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
authorMS <ms@taler.net>2023-11-03 09:07:57 +0100
committerMS <ms@taler.net>2023-11-03 09:07:57 +0100
commit6c0d79ea6d4907f4bd6d52cdce315a8ee1f10592 (patch)
tree51ef91a151f7a06cb382609ee5407381a6698b3c /design-documents
parentb58f700aab5f90fd5e5a3d4ce70011b27dfc7723 (diff)
downloaddocs-6c0d79ea6d4907f4bd6d52cdce315a8ee1f10592.tar.gz
docs-6c0d79ea6d4907f4bd6d52cdce315a8ee1f10592.tar.bz2
docs-6c0d79ea6d4907f4bd6d52cdce315a8ee1f10592.zip
DD 50: new payment submission states.
Diffstat (limited to 'design-documents')
-rw-r--r--design-documents/050-libeufin-nexus.rst17
1 files changed, 17 insertions, 0 deletions
diff --git a/design-documents/050-libeufin-nexus.rst b/design-documents/050-libeufin-nexus.rst
index 82982dc3..bc459e17 100644
--- a/design-documents/050-libeufin-nexus.rst
+++ b/design-documents/050-libeufin-nexus.rst
@@ -326,3 +326,20 @@ Discussion / Q&A
* As of private communication, the responsibility of submitting idempotent payments
relies on the use of ``request_uid`` (a database column of the initiated payment)
as the ``MsgId`` value of the corresponding pain.001 document.
+
+* ``submitted`` column of an initiated payment evolved into the following enum:
+
+ .. code-block:: shell-session
+
+ CREATE TYPE submission_state AS ENUM (
+ 'unsubmitted'
+ ,'transient_failure'
+ ,'permanent_failure'
+ ,'success'
+ ,'never_heard_back'
+ );
+
+ * ``unsubmitted``: default state when a payment is initiated
+ * ``transient_failure``: submission failed but can be retried, for example after a network issue.
+ * ``permanent_failure``: EBICS- or bank-technical error codes were not EBICS_OK (nor any tolerated EBICS code like EBICS_NO_DOWNLOAD_DATA_AVAILABLE), never retry.
+ * ``never_heard_back``: the payment initiation submission has **been** ``success`` but it was never confirmed by any outgoing transaction (from a camt.5x document) or any pain.002 report. It is responsability of a garbage collector to set this state after a particular time period.