From 3d250ac0c1857dbe4fb64d9b46d572430d5b6450 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 29 Apr 2021 08:20:08 +0200 Subject: integrate flow graphics into DD13 --- design-documents/013-peer-to-peer-payments.rst | 104 +++++++++++++++++++++++++ 1 file changed, 104 insertions(+) (limited to 'design-documents/013-peer-to-peer-payments.rst') 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 ============ -- cgit v1.2.3