1.1 KiB
1.1 KiB
sequenceDiagram
participant User
participant PaymentGateway
participant PaymentService
participant Database
User->>+PaymentService: Start Payment
PaymentService->>+PaymentGateway: Process Payment
PaymentGateway-->>-PaymentService: Payment Success
PaymentService->>Database: Record Payment
Database-->>-PaymentService: Payment Recorded
PaymentService-->>-User: Payment Confirmed
%% External Failure
User->>+PaymentService: Start Payment
PaymentService->>+PaymentGateway: Process Payment
PaymentGateway-->>-PaymentService: Payment Failed
PaymentService-->>-User: Payment Failed
%% DB Failure
User->>+PaymentService: Start Payment
PaymentService->>+PaymentGateway: Process Payment
PaymentGateway-->>-PaymentService: Payment Success
PaymentService->>Database: Record Payment
Database-->>-PaymentService: DB Failure
PaymentService-->>-User: Payment Processing Error
%% Commit/Rollback
Note over PaymentService: Commit if successful
Note over PaymentService: Rollback if there's an error