29 lines
No EOL
1,017 B
Markdown
29 lines
No EOL
1,017 B
Markdown
```mermaid
|
|
sequenceDiagram
|
|
participant User
|
|
participant PaymentGateway
|
|
participant Database
|
|
opt Successful Transaction
|
|
User->>PaymentGateway: Initiate Payment
|
|
PaymentGateway-->>User: Payment Confirmation
|
|
User->>Database: Update Transaction Record
|
|
Database-->>User: Transaction Updated
|
|
User->>User: Payment Succeeded
|
|
end
|
|
opt External Failure
|
|
User->>PaymentGateway: Initiate Payment
|
|
PaymentGateway-->>User: Payment Error
|
|
User->>User: Payment Failed
|
|
end
|
|
opt DB Failure
|
|
User->>PaymentGateway: Initiate Payment
|
|
PaymentGateway-->>User: Payment Confirmation
|
|
User->>Database: Update Transaction Record
|
|
Database-->>User: DB Error
|
|
User->>PaymentGateway: Cancel Transaction
|
|
PaymentGateway-->>User: Transaction Canceled
|
|
end
|
|
%% Commit and Rollback%%
|
|
Note over User, PaymentGateway: Commit after successful transaction
|
|
Note over User, Database: Rollback on DB failure
|
|
``` |