Backend nền tảng
J1 · Hệ thống thanh toán thẻ hoạt động ra sao
Luồng: Payment Gateway → Acquiring Bank → Card Network → Issuing Bank.
J1 · Nâng cao
Tiền không bay thẳng: đi qua nhiều "trạm" – cổng thanh toán, ngân hàng chấp nhận, mạng thẻ, ngân hàng phát hành – rồi mới quyết toán.
Cốt lõi
- Luồng: Payment Gateway → Acquiring Bank → Card Network → Issuing Bank.
- Settlement T+1 (quyết toán ngày hôm sau).
- Trọng tâm: idempotency, xử lý lỗi, bảo mật.
Đánh đổi
Trọng tâm là tính đúng của dòng tiền: idempotency, đối soát và thời điểm quyết toán.
Trong thực tế
Stripe dùng idempotency + webhook; Razorpay, Amazon Pay.
Bug thường gặp
Chỉ dựa vào redirect từ cổng thanh toán để xác nhận đơn → người dùng đóng tab là đơn không bao giờ được xác nhận (cần webhook và đối soát).
Tự hỏi lại
Xử lý webhook đến trễ/trùng? Đối soát (reconciliation)?