Payment Flow

Alur pembayaran dari Customer ke Merchant, lewat Delivery Buddy.

sequenceDiagram
    actor C as Customer
    actor P as Payment Gateway (PayNow)
    participant App as Send App
    actor DB as Delivery Buddy
    actor M as Merchant

    Note over C,P: 1. CUSTOMER PAYS PLATFORM
    C->>App: Place order + Confirm payment
    App->>P: Charge customer (PayNow)
    P-->>App: Payment confirmed
    App->>C: Order confirmed + receipt

    Note over DB,M: 2. DB PAYS MERCHANT UPFRONT
    App->>DB: Assign delivery
    DB->>M: Pick up + pay merchant (PayNow/digital)
    DB->>App: Upload payment screenshot

    Note over DB,App: 3. DB GETS REIMBURSED + FEE
    App->>DB: Deliver to customer
    DB->>App: Delivery completed
    App->>DB: Credit to Send Wallet<br/>(order amount + delivery fee)

    Note over DB,App: 4. DB WITHDRAWS
    DB->>App: Request withdrawal
    App->>DB: Transfer to linked bank account

    Note over C: Payment Methods
    Note over C: PayNow (main)<br/>SendCoins (offset)<br/>Voucher codes<br/>SendPoints (100 pts = $1)
diagrams/customers/05-payment-flow.md
# Payment Flow

Alur pembayaran dari Customer ke Merchant, lewat Delivery Buddy.

```mermaid
sequenceDiagram
    actor C as Customer
    actor P as Payment Gateway (PayNow)
    participant App as Send App
    actor DB as Delivery Buddy
    actor M as Merchant

    Note over C,P: 1. CUSTOMER PAYS PLATFORM
    C->>App: Place order + Confirm payment
    App->>P: Charge customer (PayNow)
    P-->>App: Payment confirmed
    App->>C: Order confirmed + receipt

    Note over DB,M: 2. DB PAYS MERCHANT UPFRONT
    App->>DB: Assign delivery
    DB->>M: Pick up + pay merchant (PayNow/digital)
    DB->>App: Upload payment screenshot

    Note over DB,App: 3. DB GETS REIMBURSED + FEE
    App->>DB: Deliver to customer
    DB->>App: Delivery completed
    App->>DB: Credit to Send Wallet<br/>(order amount + delivery fee)

    Note over DB,App: 4. DB WITHDRAWS
    DB->>App: Request withdrawal
    App->>DB: Transfer to linked bank account

    Note over C: Payment Methods
    Note over C: PayNow (main)<br/>SendCoins (offset)<br/>Voucher codes<br/>SendPoints (100 pts = $1)
```