# Lỗi và giới hạn OAuth

Để phần mềm chủ động ngắt kết nối, POST `/revoke` với form-urlencoded gồm `client_id`, `client_secret`, `token` (access hoặc refresh token). Thao tác thu hồi toàn bộ kết nối và dừng webhook liên quan. Token không tồn tại trả thành công mà không tiết lộ thông tin.

API ngân hàng, giao dịch và webhook yêu cầu gói Pay2S còn hoạt động. Bộ gửi webhook hiện có tiếp tục quyết định giao dịch đủ điều kiện và retry; OAuth không tạo thêm một luồng quét giao dịch để vượt hạn mức.

Lỗi có dạng `{"error":"invalid_token"}`. HTTP 401: token/đăng nhập không hợp lệ; 403: không đủ quyền; 409: xung đột request; 410: phiên cấp quyền hết hạn; 422: dữ liệu sai; 429: giới hạn tần suất, đọc `Retry-After`; 502: receiver không ACK.

Khách quản lý tại [Ứng dụng đã kết nối](https://pay2s.vn/client/oauth-connections). API key và BankHub hiện có hoạt động độc lập. Bản đầu chưa cấp quyền tạo thanh toán, xuất hóa đơn hoặc liên kết ngân hàng qua OAuth.

Các lỗi thường gặp: `personal_app_owner_only`, `app_not_approved`, `insufficient_scope`, `active_plan_required`, `bank_not_granted`, `bank_not_available`, `invalid_grant`. Đọc HTTP status và trường `error`; khi server lỗi có thể kèm `error_id` để hỗ trợ tra cứu. Không lưu token hoặc secret vào log.
