Bỏ qua để đến nội dung

Purchases

Đường dẫn: Menu → Người chơi & giao dịch → Purchases (/games/{gameId}/purchases)

Ai dùng được

Đây là quyền endpoint theo backend/src/admin_portal/core/permissions.py; các thao tác nhạy cảm như PII có kiểm tra step-up riêng. Super Admin vượt ma trận bằng quyền khẩn cấp.

Tài nguyên endpointHành động cầnVai trò được backend cho phép
purchase_refund READ Super Admin, Game Owner, Live Ops, Economy Admin, Support Agent, Finance, Analyst, Auditor
purchase_refund WRITE Super Admin, Finance

Điều kiện hiển thị: Có game đang chọn và quyền PURCHASE_REFUND/READ; refund/đối soát yêu cầu WRITE và step-up theo endpoint.

Tra cứu giao dịch mua do nhà cung cấp gửi về và xử lý hỗ trợ.

Gợi ý trong Portal (frontend/src/app/(portal)/games/[gameId]/purchases/page.tsx): Lịch sử giao dịch mua trong ứng dụng (IAP) của game — trạng thái xác minh, trạng thái giao hàng (fulfillment), và thao tác refund/đối soát. Lọc theo trạng thái xác minh, fulfillment hoặc store (Play Store/App Store). ‘Match’/‘Reject’ chỉ đóng dấu kết quả đối soát — muốn thu hồi thật sự phải dùng nút Refund riêng. Refund không xóa giao dịch, chỉ đổi trạng thái và thu hồi entitlement/ledger liên quan. Dữ liệu nghiệp vụ được giới hạn theo gameId đang chọn.

  1. Tìm giao dịch bằng mã provider/player và đối chiếu trạng thái nguồn.
  2. Refund hoặc đối soát chỉ với reason và quyền write phù hợp; không sửa amount theo dữ liệu client.

MFA: refund là sensitive mutation, cần step-up và PURCHASE_REFUND/WRITE; Finance thực hiện theo quyền.

Đối chiếu provider, product và trạng thái giao dịch. Không nhập hoặc tin số tiền do client cung cấp; hoàn tiền cần đúng quy trình có reason.

“Hoàn tiền thất bại” hoặc “Đối soát thất bại” → đọc detail provider/API, xác minh trạng thái giao dịch và permission trước khi thử lại.

Quy trình thường gặp · Audit Log · Vai trò và quyền

Kiểm tra lần cuối với Portal v1.2.2. Hướng dẫn được đối chiếu mã nguồn; chưa chạy thao tác trên dev stack.

Áp dụng cho Portal v1.2.2