Перейти к содержанию

Завершение аутентификации покупателя

После успешного прохождения дополнительной аутентификации мерчанту необходимо отправить запрос с параметрами, соответствующими типу дополнительной аутентификации для завершения проверки.

Сценарий, в котором используется метод завершения аутентификации, см. в статье «3D-Secure»

Запрос

POST /payin/v1/sites/{siteId}/payments/{paymentId}/complete

Параметры строки запроса

Параметр Обязательный Тип Описание
siteId Да string Строковый идентификатор сайта ТСП в QIWI Кассе
paymentId Да string Уникальный идентификатор платежа в информационной системе ТСП. Уникальность означает, что идентификатор должен отличаться от идентификаторов всех ранее созданных платежей ТСП в рамках одного siteId.

Заголовки

Заголовок Обязательный Тип Описание
Authorization Да string Авторизационные данные. Bearer [access-token]
Content-type Да string Тип запроса. application/json
Accept Нет string Тип ответа. application/json

Параметры тела запроса

Параметр Обязательный Тип Описание
threeDS Нет object Данные для аутентификации банковских карт по протоколам 3DS и 3DS2.0

Пример запроса

Завершение аутентификации покупателя
POST /partner/payin/v1/sites/test-01/payments/1811/complete HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: b2b-api.qiwi.com

{
  "threeDS": {
    "pares": "eJzVWFevo9iyfu9fMZrzaM0QjWHk3tIiGptgooE3cgabYMKvv3jvTurTc3XOfbkaJMuL...."
  }
}

Ответ

Поля успешного ответа

Параметр Обязательный Тип Описание
paymentId Да string Идентификатор платежа. Такой же как в запросе
createdDateTime Да string Дата создания счёта
amount Да object Сумма операции
capturedAmount Да object Сумма подтверждений
refundedAmount Да object Сумма возвратов
paymentMethod Да object Метод платежа
status Да object Статус платежа
customer Нет object Данные покупателя
flags Нет array of strings Дополнительные команды для API, указанные в исходном платеже
customFields Нет object Поля с произвольной информацией, дополняющей данные по операции
requirements Нет object Требования для дополнительной аутентификации клиента
createdToken Нет object Данные выпущенного платёжного токена

Поля ответа с ошибкой

Параметр Обязательный Тип Описание
serviceName Да string Имя сервиса, сгенерировавшего ошибку
errorCode Да string Код ошибки
description Да string Описание ошибки для ТСП
userMessage Да string Описание ошибки для отображения покупателю
dateTime Да string Дата и время ошибки
traceId Да string Уникальный ID лога ошибки
cause Нет object Описание ошибки валидации конкретного поля

Примеры ответов

{
    "paymentId": "testpayment",
    "billId": "autogenerated-2ea295df-8fe1-470a-aa2b-438af63dd8e6",
    "createdDateTime": "2025-07-08T15:28:58+03:00",
    "amount": {
        "currency": "RUB",
        "value": "5.00"
    },
    "capturedAmount": {
        "currency": "RUB",
        "value": "0.00"
    },
    "refundedAmount": {
        "currency": "RUB",
        "value": "0.00"
    },
    "paymentMethod": {
        "type": "CARD",
        "maskedPan": "220000******1111",
        "cardHolder": "CARDHOLDER NAME"
    },
    "status": {
        "value": "COMPLETED",
        "changedDateTime": "2025-07-08T15:31:34+03:00"
    },
    "callbackUrl": "https://notifications.js",
    "flags": [
        "TEST"
    ],
    "paymentCardInfo": {
        "issuingCountry": "643",
        "issuingBank": "Test Bank Name",
        "paymentSystem": "MIR",
        "fundingSource": "UNKNOWN",
        "paymentSystemProduct": "Unknown"
    }
}
{
  "serviceName":"payin-core",
  "errorCode":"validation.error",
  "description":"Validation error",
  "userMessage":"Validation error",
  "dateTime" : "2024-03-13T16:49:59.166+03:00",
  "traceId" : "fd0e2a08c63ace83"
}
{
  "serviceName":"payin-core",
  "errorCode":"internal.error",
  "userMessage":"Internal error",
  "description":"Internal error",
  "traceId":"3fb3420ee1795dcf",
  "dateTime":"2020-02-12T21:28:01.813+03:00"
}