29 lines
No EOL
1.1 KiB
Markdown
29 lines
No EOL
1.1 KiB
Markdown
```mermaid
|
|
sequenceDiagram
|
|
participant User as User
|
|
participant Controller as Controller
|
|
participant PaymentService as PaymentService
|
|
participant Gateway as PaymentGateway
|
|
participant DB as Database
|
|
|
|
User ->> Controller: Initiate Payment
|
|
Controller ->> PaymentService: Process Payment
|
|
PaymentService ->> Gateway: Call Payment Gateway
|
|
alt Successful Payment
|
|
Gateway -->> PaymentService: Payment Success
|
|
PaymentService ->> DB: Save Transaction
|
|
DB -->> PaymentService: Transaction Saved
|
|
PaymentService -->> Controller: Payment Processed
|
|
Controller -->> User: Payment Successful
|
|
else External Gateway Failure
|
|
Gateway -->> PaymentService: Payment Failed
|
|
PaymentService -->> Controller: Payment Failed
|
|
Controller -->> User: Payment Failed
|
|
else DB Failure
|
|
Gateway -->> PaymentService: Payment Success
|
|
PaymentService ->> DB: Save Transaction
|
|
DB -->> PaymentService: DB Error
|
|
PaymentService ->> Controller: Rollback Transaction
|
|
Controller -->> User: Payment Failed
|
|
end
|
|
``` |