summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--anastasis.rst26
-rw-r--r--design-documents/013-peer-to-peer-payments.rst104
-rw-r--r--design-documents/999-template.rst (renamed from design-documents/000-template.rst)0
-rw-r--r--design-documents/index.rst2
-rw-r--r--index.rst8
5 files changed, 122 insertions, 18 deletions
diff --git a/anastasis.rst b/anastasis.rst
index 62e17ebd..803f16f8 100644
--- a/anastasis.rst
+++ b/anastasis.rst
@@ -1934,7 +1934,7 @@ a state where the user can choose which challenges to satisfy:
"cost": "TESTKUDOS:0",
"type": "email",
"instructions": "e-mail address m?il@f*.bar"
- }
+ },
],
"policies": [
[
@@ -1943,14 +1943,14 @@ a state where the user can choose which challenges to satisfy:
},
{
"uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0"
- }
- ]
+ },
+ ],
],
"provider_url": "http://localhost:8088/",
- "version": 1
+ "version": 1,
},
"recovery_document": {
- ...
+ "...": "..."
}
}
@@ -2065,7 +2065,7 @@ information about attempted challenges, with the final state being ``solved``:
{
"recovery_state": "CHALLENGE_SELECTING",
"recovery_information": {
- // ...
+ "...": "..."
}
"challenge_feedback": {
"80H646H5ZBR453C02Y5RT55VQSJZGM5REWFXVY0SWXY1TNE8CT30" : {
@@ -2104,7 +2104,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SOLVING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2127,7 +2127,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SOLVING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2147,7 +2147,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SOLVING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2171,7 +2171,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SOLVING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2194,7 +2194,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SELECTING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2215,7 +2215,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SELECTING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
@@ -2233,7 +2233,7 @@ that applications must all handle. States other than ``solved`` are:
{
"recovery_state": "CHALLENGE_SELECTING",
"recovery_information": {
- // ...
+ "...": "..."
}
"selected_challenge_uuid": "TXYKGE1SJZHJ4M2FKSV1P2RZVNTHZFB9E3A79QE956D3SCAWXPK0",
"challenge_feedback": {
diff --git a/design-documents/013-peer-to-peer-payments.rst b/design-documents/013-peer-to-peer-payments.rst
index 9666a85b..914d87fe 100644
--- a/design-documents/013-peer-to-peer-payments.rst
+++ b/design-documents/013-peer-to-peer-payments.rst
@@ -18,6 +18,110 @@ needing to setup anything beyond their wallet(s).
This will be used for payments via e-mail and other messaging apps, as well as
possibly for transfers via NFC/QR code between mobile phones.
+Invoice Flow User Experience
+----------------------------------
+
+.. graphviz::
+
+ digraph invoice {
+ settings [
+ label = "Invoice flow";
+ ];
+ ranksep="0.5"
+ { rank = same; "inbox"; "begin"; }
+ { rank = same; "sending"; "receiving2"; }
+ { rank = same; "receiving"; "paying"; }
+ { rank = same; "mid"; "midbox"; }
+ { rank = same; "body"; "amount"; }
+ begin [label="Seller Inbox",shape=box];
+ body [label="compose\nE-mail message"];
+ amount [label="specify\ninvoice details"];
+ receiving [label="receiving...",shape=diamond];
+ sending [label="transmitting...",shape=diamond];
+ mid [label="Seller Inbox",shape=box];
+ notified [label="Notification:\npayment received"];
+ end [label="Seller Inbox",shape=box];
+ begin -> body [label="(1) new"];
+ body -> amount [label="(2) attach invoice"];
+ amount -> body [label="(3) Ok"];
+ body -> sending [label="(4) send"];
+ sending -> mid [style=dashed];
+ mid -> receiving [style=dashed];
+ receiving -> notified [style=dashed];
+ notified -> end [label="(9) Acknowledge"];
+ inbox [label="Buyer Inbox",shape=box];
+ receiving2 [label="receiving...",shape=diamond];
+ midbox [label="Buyer Inbox",shape=box];
+ open [label="message with\nattached invoice"];
+ confirm [label="review invoice"];
+ paying [label="paying...", shape=diamond];
+ paid [label="message with\npaid invoice"];
+ finbox [label="Buyer Inbox",shape=box];
+ inbox -> receiving2 [style=dashed];
+ receiving2 -> sending [label="Internet\n(pEp)",style=dashed,dir=back];
+ receiving2 -> midbox [style=dashed];
+ midbox -> open [label="(5) select message"];
+ open -> confirm [label="(6) view invoice"];
+ confirm -> paying [label="(7) pay"];
+ paying -> paid [style=dashed];
+ paid -> finbox [label="(8) back"];
+ paying -> receiving [style=dashed, label="Internet\n(Taler)"];
+ }
+
+Donation Flow User Experience
+-------------------------------------
+
+.. graphviz::
+
+ digraph donation {
+ ranksep="0.5"
+ settings [
+ label = "Donation flow";
+ ];
+ { rank = same; "inbox"; "begin"; }
+ { rank = same; "sending"; "receiving2"; }
+ { rank = same; "body"; "amount"; }
+ { rank = same; "mid"; "midbox"; }
+ { rank = same; "accepting"; "timeout"; "receiving"; }
+ begin [label="Donor Inbox",shape=box];
+ body [label="compose\nE-mail message"];
+ amount [label="specify\npayment details"];
+ receiving [label="receiving...",shape=diamond];
+ timeout [label="timeout...",shape=diamond];
+ sending [label="transmitting...",shape=diamond];
+ mid [label="Donor Inbox",shape=box];
+ notified [label="Notification:\npayment confirmed"];
+ notified2 [label="Notification:\npayment refunded"];
+ end [label="Donor Inbox",shape=box];
+ begin -> body [label="(1) new"];
+ body -> amount [label="(2) attach payment"];
+ amount -> body [label="(3) Ok"];
+ body -> sending [label="(4) send"];
+ sending -> mid [style=dashed];
+ mid -> receiving [style=dashed];
+ receiving -> notified [style=dashed];
+ mid -> timeout [style=dashed];
+ timeout -> notified2 [style=dashed];
+ notified -> end [label="(9a) Acknowledge"];
+ notified2 -> end [label="(9b) Acknowledge"];
+ inbox [label="Recipient Inbox",shape=box];
+ receiving2 [label="receiving...",shape=diamond];
+ midbox [label="Recipient Inbox",shape=box];
+ open [label="message with\nattached payment"];
+ confirm [label="accept payment?"];
+ accepting [label="accepting...", shape=diamond];
+ paid [label="message with\naccepted payment"];
+ finbox [label="Recipient Inbox",shape=box];
+ inbox -> receiving2 [style=dashed];
+ receiving2 -> sending [label="Internet\n(pEp)",style=dashed,dir=back];
+ receiving2 -> midbox [style=dashed];
+ midbox -> open [label="(5) select message"];
+ open -> confirm [label="(6) review payment details"];
+ confirm -> accepting [label="(7) yes"];
+ accepting -> paid [style=dashed];
+ paid -> finbox [label="(8) back"];
+ accepting -> receiving [style=dashed, label="Internet\n(Taler)"];
+ }
Requirements
============
diff --git a/design-documents/000-template.rst b/design-documents/999-template.rst
index f620248d..f620248d 100644
--- a/design-documents/000-template.rst
+++ b/design-documents/999-template.rst
diff --git a/design-documents/index.rst b/design-documents/index.rst
index b039ccdc..d0ccef22 100644
--- a/design-documents/index.rst
+++ b/design-documents/index.rst
@@ -9,7 +9,6 @@ and protocol.
.. toctree::
:glob:
- 000-template
001-new-browser-integration
002-wallet-exchange-management
003-tos-rendering
@@ -29,3 +28,4 @@ and protocol.
017-backoffice-inventory-management
018-contract-json
019-wallet-backup-merge
+ 999-template
diff --git a/index.rst b/index.rst
index a6cc061c..43212ce2 100644
--- a/index.rst
+++ b/index.rst
@@ -44,10 +44,10 @@ components, internal architecture of key components, and how to get them
installed. In addition to this documentation, we have source-level
documentation which you can find converted to HTML at these pages:
- * `anastasis <https://docs.taler.net/doxygen/anastasis/>`
- * `exchange <https://docs.taler.net/doxygen/exchange/>`
- * `merchant <https://docs.taler.net/doxygen/exchange/>`
- * `wallet-core <https://docs.taler.net/doxygen/wallet-core/>`
+ * `Anastasis <https://docs.taler.net/doxygen/anastasis/>`_
+ * `Exchange <https://docs.taler.net/doxygen/exchange/>`_
+ * `Merchant <https://docs.taler.net/doxygen/merchant/>`_
+ * `Wallet-core <https://docs.taler.net/doxygen/wallet-core/>`_
Documentation Overview
----------------------