BBoon Break Về máy bán hàng

4 SERVICES · 1 PAYMENT

Điểm đi đâu
sau cú quét?

QR chỉ mang link checkout một lần. Giá nằm trên server; điện thoại không thể sửa đơn hay số điểm.

01Vending FrontendChọn món · hiện QR · poll trạng thái
02Payment BackendTạo order · giữ trạng thái máy
03Boon FrontendLogin demo · xác nhận trả điểm
04Boon BackendTrừ điểm · ledger · webhook

SEQUENCE DIAGRAM

Một payment đi qua hệ thống

Boon vending payment sequence Luồng tạo order, mở checkout, trừ điểm, webhook và cập nhật vending machine. Vending FE Payment BE Boon FE Boon BE create order create fixed Boon order checkout URL + QR show QR scan QR / open checkout confirm orderRef deduct + ledger webhook PAID poll order status PAID

Trên màn hình nhỏ: kéo ngang để theo dõi đủ bốn service.

  1. 01
    Máy tạo đơn cố định

    Vending Frontend gửi món và giá điểm tới Payment Backend. Backend gọi Boon Backend để tạo order có hạn dùng.

  2. 02
    QR mở Boon checkout

    Payment Backend nhận checkout URL và QR thật. QR không chứa user ID, balance hay access token.

  3. 03
    Staff login và xác nhận

    Boon Frontend lưu login demo, quay lại đúng checkout URL rồi hiển thị order do server giữ.

  4. 04
    Boon trừ điểm một lần

    Boon Backend check balance, trừ điểm atomically và ghi ledger bằng idempotency key.

  5. 05
    Webhook chốt trạng thái

    Boon Backend gửi webhook PAID tới Payment Backend. Vending Frontend poll thấy thành công rồi mới cho máy dispense.

Quy tắc hoàn điểm

Chỉ refund khi dispense thất bại chắc chắn và luôn tham chiếu originalPaymentId. Kết quả chưa rõ không hoàn ngay, tránh staff vừa nhận nước vừa nhận lại điểm.