---
# System prepended metadata

title: Pay microservices

---

# 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


