Skip to content

Validate ​

POST {your_base_url}/validate

Được gọi trong một challenge out-of-band khi ACS cần biết chủ thẻ đã phản hồi hay chưa. Đây là phương án fallback cho OOB callback: ACS poll endpoint này khi chủ thẻ nhấn Continue và chưa có callback nào đến cho phiên đó.

Nếu bạn có triển khai callback, endpoint này vẫn sẽ được gọi — chủ thẻ luôn có thể nhấn Continue trước khi push của bạn đến nơi.

Request ​

json
{
  "ProcessorId": "cake-proc-01",
  "IssuerId": "cake-iss-01",
  "TransactionId": "9f6b6a2e-6f4e-4d0a-9b6e-2f9d6c1a7e10",
  "DSTransactionId": "660e8400-e29b-41d4-a716-446655440000",
  "StepupRequestId": "b2b6c9a4-1d0e-4e3a-8c8b-5a1f2d3c4b5a",
  "StepupType": "OUTOFBAND",
  "StepupCounter": 1,
  "FirstFactorOutcome": "",
  "MessageVersion": "2.2.0",
  "RDXMessageVersion": "2.2.4",
  "CredentialResponse": [
    { "Id": "0b8ce7e2-8388-4b4c-9568-8f8da53c1b09", "Type": "OUTOFBANDOTHER" }
  ]
}

Hãy tra cứu phiên theo StepupRequestId và báo cáo trạng thái hiện tại của nó.

Response ​

json
{
  "ProcessorId": "cake-proc-01",
  "IssuerId": "cake-iss-01",
  "TransactionId": "9f6b6a2e-6f4e-4d0a-9b6e-2f9d6c1a7e10",
  "StepupRequestId": "b2b6c9a4-1d0e-4e3a-8c8b-5a1f2d3c4b5a",
  "Status": "RETRY"
}

Cách response của bạn được diễn giải ​

Bạn trả vềACS sẽCó tính vào số lần thử
SUCCESS hoặc AUTHENTICATEDHoàn tất challenge với kết quả phê duyệt — transStatus là Y—
REJECTEDTính là một lần thử thất bại. Khi chạm giới hạn 3 lần, hoàn tất với transStatus là N và chỉ báo hủy challenge là 08. Dưới giới hạn, hiển thị lại trang chờCó
RETRYHiển thị lại trang chờ và gia hạn deadline giữa các vòngKhông
STEPUP, ERROR, FAILWITHFEEDBACK, hoặc bất kỳ status không xác định nàoGiống như RETRY — được coi là chưa hoàn tấtKhông

Chỉ SUCCESS, AUTHENTICATED, và REJECTED là final. Mọi trường hợp khác, kể cả một status mà ACS không nhận diện được, đều để challenge ở trạng thái mở.

WARNING

Chỉ trả về SUCCESS hoặc REJECTED khi chủ thẻ thực sự đã phê duyệt hoặc từ chối. Trong lúc vẫn đang chờ họ, hãy trả về RETRY.

Trả về SUCCESS quá sớm sẽ phê duyệt một giao dịch mà chủ thẻ chưa từng thấy. Trả về REJECTED quá sớm sẽ tiêu tốn một trong ba lần thử, và ba lần đó sẽ kết thúc xác thực.

Idempotency ​

ACS có thể gọi endpoint này nhiều lần cho một phiên — mỗi lần nhấn Continue một lần. Một RETRY không tốn gì của chủ thẻ, nên một phiên có thể được poll nhiều lần trước khi bất kỳ lần thử nào bị dùng.

Mỗi lệnh gọi phải an toàn để lặp lại và phải báo cáo cùng một trạng thái cho đến khi trạng thái đó thực sự thay đổi. Không được tiêu thụ hay vô hiệu hóa phiên chỉ vì một lần đọc.

Developers