# 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