```mermaid sequenceDiagram participant User participant PaymentGateway participant Application participant Database User->>Application: Initiate Payment Application->>PaymentGateway: Process Payment alt Successful Payment PaymentGateway-->>Application: Payment Approved Application->>Database: Commit Transaction Database-->>Application: Transaction Committed Application-->>User: Payment Successful else External Failure PaymentGateway-->>Application: Payment Error Application-->>User: Payment Failed else DB Failure Application->>Database: Attempt Transaction Database-->>Application: Transaction Error Application->>Database: Rollback Transaction Database-->>Application: Transaction Rolled Back Application-->>User: Payment Failed end ```