Biometric.Identify

Выполняет биометрическое считывание выбранным локальным устройством и поиск клиента в KaftPay. В текущем сценарии KaftPay используется распознавание ладони. Биометрические данные не сохраняются в VCR и не возвращаются в ответе.

Метод оставлен для обратной совместимости. В основном платёжном сценарии вызывать его не требуется: Payment.Create самостоятельно запускает устройство, распознаёт ладонь и выполняет оплату. Результаты ambiguous и no_match возвращаются как ошибка без списания. Возвращаемый session_id носит информационный характер и не передаётся в Payment.Create.

Название Тип Обязательность Описание
device_id string Обязательный Идентификатор из Biometric.Device.Get
timeout int32 Необязательный Время ожидания считывания в секундах

Ответ содержит session_id, reason, expires_at и список candidates с полями candidate_id, name, score, phone_last4.

{
  "id": 1,
  "method": "Biometric.Identify",
  "auth": "a2Fzc2E6a2FzMTIzNDU2",
  "params": {
    "device_id": "a7428fa7c3e8082e13e4fc00a52ec210ebd73f48e7ca0a9873e8d793976f7284",
    "timeout": 30
  },
  "jsonrpc": "2.0"
}
{
  "id": 1,
  "ok": true,
  "result": {
    "session_id": "96faab51-b898-4fb8-9187-a373f178c15b",
    "reason": "confident",
    "expires_at": "2026-09-09T23:30:00.0000000Z",
    "candidates": [
      {
        "candidate_id": "1",
        "name": "Alisher U.",
        "score": 0.981,
        "phone_last4": "4567"
      }
    ]
  }
}

VCR передаёт биометрические векторы в KaftPay только в зашифрованном поле palmDataEnc; при выводе ключа HKDF используется контекст info = "pp-palm-vector:v1". Поле phone_last4 может присутствовать в confident-кандидате, но для оплаты и подтверждения не используется.