32 lines
No EOL
1.1 KiB
Markdown
32 lines
No EOL
1.1 KiB
Markdown
```mermaid
|
|
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
|
|
``` |