Templates / classDiagram

Payment module classes

An interface with two provider implementations and a processing service. A template for documenting module boundaries.

Open in studio

Preview

Mermaid 11 renderer

Rendering preview...

Mermaid source

classDiagram

classDiagram
    class PaymentProvider {
        <<interface>>
        +charge(amount) Receipt
        +refund(receiptId) bool
    }
    class StripeProvider {
        -apiKey
        +charge(amount) Receipt
        +refund(receiptId) bool
    }
    class PaypalProvider {
        -clientId
        +charge(amount) Receipt
        +refund(receiptId) bool
    }
    class PaymentService {
        -provider PaymentProvider
        +checkout(cart) Receipt
    }
    PaymentProvider <|.. StripeProvider
    PaymentProvider <|.. PaypalProvider
    PaymentService --> PaymentProvider : uses

More templates