Checkout and the interfaces it relies on
A checkout and the interfaces it relies on. Orders, Payments and the card processor list what they provides, each drawn as a ball on a stem with its label; a connection with toInterface ends in a socket around that ball, so Support visibly requires the Refunds API rather than Payments as a whole. The description and the table say it in words — “requires Payments API”, a Provides column. With a phone variant. Illustrative values.
Checkout and the interfaces it relies on
examples/payment-interfaces.json{
"schemaVersion": 1,
"type": "architecture",
"title": "Checkout and the interfaces it relies on",
"source": "Platform handbook, payment path",
"width": 960,
"height": 760,
"mobile": {
"width": 360,
"height": 1000
},
"architecture": {
"boundaries": [
{
"id": "shop",
"label": "Shop platform"
}
],
"components": [
{
"id": "shopper",
"label": "Shopper",
"kind": "person"
},
{
"id": "web",
"label": "Web shop",
"kind": "frontend"
},
{
"id": "checkout",
"label": "Checkout",
"in": "shop"
},
{
"id": "support",
"label": "Support",
"in": "shop"
},
{
"id": "orders",
"label": "Orders",
"in": "shop",
"provides": [
{
"id": "orders-api",
"label": "Orders API"
}
]
},
{
"id": "payments",
"label": "Payments",
"in": "shop",
"provides": [
{
"id": "payments-api",
"label": "Payments API"
},
{
"id": "refunds-api",
"label": "Refunds API"
}
]
},
{
"id": "db",
"label": "Order store",
"kind": "database",
"in": "shop"
},
{
"id": "psp",
"label": "Card processor",
"kind": "external",
"provides": [
{
"id": "card-api",
"label": "Card API"
}
]
}
],
"connections": [
{
"from": "shopper",
"to": "web",
"label": "buys"
},
{
"from": "web",
"to": "checkout",
"label": "submits",
"technology": "HTTPS"
},
{
"from": "checkout",
"to": "orders",
"toInterface": "orders-api",
"label": "places"
},
{
"from": "checkout",
"to": "payments",
"toInterface": "payments-api",
"label": "charges"
},
{
"from": "support",
"to": "payments",
"toInterface": "refunds-api",
"label": "refunds"
},
{
"from": "payments",
"to": "psp",
"toInterface": "card-api",
"technology": "HTTPS"
},
{
"from": "orders",
"to": "db",
"technology": "SQL"
}
],
"mainPath": [
"shopper",
"web",
"checkout",
"payments",
"psp"
],
"orientation": "portrait"
}
}Focus
Source: Platform handbook, payment path
Show chart data
| Component | Kind | Boundary | Provides | Connects to |
|---|---|---|---|---|
| Shopper | person | Web shop (buys) | ||
| Web shop | frontend | Checkout (submits, via HTTPS) | ||
| Checkout | service | Shop platform | Orders (requires Orders API, places), Payments (requires Payments API, charges) | |
| Support | service | Shop platform | Payments (requires Refunds API, refunds) | |
| Orders | service | Shop platform | Orders API | Order store (via SQL) |
| Payments | service | Shop platform | Payments API, Refunds API | Card processor (requires Card API, via HTTPS) |
| Order store | database | Shop platform | ||
| Card processor | external system | Card API |