# Pay microservices Paying users ```graphviz digraph paymentjourney { { node [shape=box style=filled] SQS [fillcolor=yellow] "SNS Events" [fillcolor=yellow] Egress [fillcolor=pink] "Worldpay / Stripe" [fillcolor=grey] } { node [shape=diamond style=filled] "Paying User" [fillcolor=green] "Govt Service" [fillcolor=green] } { rank = min; "Govt Service" "Paying User" } { rank = same; Ledger Connector CardID Adminusers PublicAPI Products } { rank = same; "Products UI" Frontend } { rank = same; "SNS Events" SQS } { rank = max; "Worldpay / Stripe" } "Paying User"->Frontend "Paying User"->"Products UI" Frontend->{Connector, CardID} PublicAPI->{Connector, Ledger, Adminusers, Webhooks} "Govt Service"->PublicAPI Connector->Egress Egress->"Worldpay / Stripe" "Products UI"->Products Ledger->"SNS Events"->Webhooks Connector->SQS->Ledger Webhooks->"Govt Service" } ``` Service users ```graphviz digraph servicejourney { { node [shape=diamond style=filled] "Service User" [fillcolor=green] } "Service User"->Selfservice Selfservice->{Connector, Ledger, PublicAuth, Products, Adminusers, Webhooks} } ``` Pay support users ```graphviz digraph internaljourney { { node [shape=diamond style=filled] "Pay support user" [fillcolor=green] } { node [shape=box style=filled] "Stripe API" [fillcolor=grey] } "Pay support user"->Toolbox Toolbox->{Ledger, PublicAuth, Adminusers, Products, "Stripe API"} { rank = same; Ledger PublicAuth Adminusers Products } { rank = max; "Stripe API" } } ``` ## Notes - tbc