diff options
-rw-r--r-- | libeufin/api-nexus.rst | 16 | ||||
-rw-r--r-- | libeufin/iso20022.rst | 36 |
2 files changed, 45 insertions, 7 deletions
diff --git a/libeufin/api-nexus.rst b/libeufin/api-nexus.rst index 666fe1f3..d58b43bd 100644 --- a/libeufin/api-nexus.rst +++ b/libeufin/api-nexus.rst @@ -138,6 +138,22 @@ manages payment initiations of the account and tracks the of payment initiations preparationDate: string; } +.. http:get:: {nexusBase}/bank-accounts/{my-acct}/payment-initiations + + Ask nexus the list of initiated payments. At this stage of the API, + **all** is returned: submitted and non submitted payments. + + **Response** + + .. ts:def:: InitiatedPayments + + interface InitiatedPayments { + + // list of all the initiated payments' UID. + initiatedPayments: PaymentStatus[]; + } + + .. http:post:: {nexusBase}/bank-accounts/{my-acct}/payment-initiations Ask nexus to prepare instructions for a new payment. diff --git a/libeufin/iso20022.rst b/libeufin/iso20022.rst index d87098a3..06d929c2 100644 --- a/libeufin/iso20022.rst +++ b/libeufin/iso20022.rst @@ -22,15 +22,37 @@ The specifics of this mapping are: of message elements in the same schema. -Cash Management (camt) -====================== +Why does LibEuFin not use ISO 20022? +==================================== -LibEuFin combines camt.052, camt.053 and camt.054, as they essentially -have the same structure and serve the same purpose: Reporting transactions -on a customer's bank account. +While LibEuFin can ingest ISO 20022 messages (camt.05x, pain.002) and generate +them (pain.001), it does not use ISO 20022 in its API and internal data model. -We also flatten the hierarchy a bit and only have entries ("money movement in one go") -and transactions. +Reasons for not using ISO 20022 directly are: + +1. Impedence mismatch. ISO 20022 messages do not map well to query/response + APIs. +2. Cumbersome to use. Even when ISO 20022 messages are directly mapped + to JSON, they are difficult to use due to their verbosity. +3. Underspecification. Messages like camt.05x leave many "degrees of freedom" + when translating the underlying data into a message. +4. No interoperability. As a result of underspecification, different countries/organisations + define their own subset and interpretation rules for ISO 20022 messages. This can + lead to even contradictory usage rules. An example for this is how the Swiss and EPC + interpretations handle transaction amounts in the presence of multiple currencies. +5. Redundancy. ISO 20022 are redundant, and often mix aspects of the "presentation logic" + with the underlying data model. An example of this is the optional "summary" information + in camt.05x messages. + +Instead of using ISO 20022 messages directly, LibEuFin leverages the standard in other ways: + +* As the data exchange format with banks +* As a guideline for naming in data formats +* As a guideline for which concepts need to be understood by LibEuFin + + +Implementation notes for camt.05x +================================= Types of amounts in camt messages --------------------------------- |