PlantUML to draw.io
Convert
Ctrl+Enter
PlantUML
@startuml title E-Commerce Order Processing actor Customer participant "Web App" as Web participant "Order Service" as Orders participant "Payment Gateway" as Payment database "Order DB" as DB participant "Notification Service" as Notify == Place Order == Customer -> Web : Add to cart Customer -> Web : Checkout Web -> Orders : createOrder(items, customer) activate Orders Orders -> DB : saveOrder(pending) activate DB DB --> Orders : orderId deactivate DB Orders -> Payment : processPayment(amount, card) activate Payment alt payment success Payment --> Orders : paymentConfirmed Orders -> DB : updateStatus(paid) Orders -> Notify : sendConfirmation(orderId) activate Notify Notify --> Customer : Order confirmation email deactivate Notify Orders --> Web : orderConfirmed(orderId) else payment failed Payment --> Orders : paymentDeclined(reason) Orders -> DB : updateStatus(failed) Orders --> Web : orderFailed(reason) Web --> Customer : Payment error message end deactivate Payment deactivate Orders == Delivery == Customer -> Web : confirmDelivery(orderId) Web -> Orders : markDelivered(orderId) Orders -> DB : updateStatus(delivered) @enduml
draw.io Output
Loading viewer...