@startuml !include theme.puml title Payment Integration - single-step flow skinparam SequenceBoxBorderColor # hide footbox participant Storefront #555 box "Vendure Server" #Lightblue participant "Shop API" as ShopAPI participant PaymentMethodHandler end box participant "Payment Provider" as PaymentProvider #39a4ac Storefront -> ShopAPI: **addPaymentToOrder**\nmutation ShopAPI -> PaymentMethodHandler++ PaymentMethodHandler -> PaymentProvider: **createPayment()** note right: The Payment Provider **authorizes**\n__and__ **captures** the payment PaymentProvider --> PaymentMethodHandler: Transaction ID PaymentMethodHandler --> ShopAPI: creates new **Payment**\nfor the Order deactivate PaymentMethodHandler ShopAPI --> Storefront: Order in\n**PaymentSettled** state @enduml