В главное меню

Передача информации об устройстве и браузере


Передача информации об устройстве

Данный процесс необходим только в случае требования подтверждения платежа с технологией 3ds2 и наличием параметра threeDsMethodUrl. Если требуется подтверждение с 3ds2, но параметр threeDsMethodUrl отсутствует – то вызов данного метода не делается.

Витрина должна создать невидимый iframe, с формой, содержащей поле threeDsMethodData, и автоматически отправить её на threeDsMethodUrl. Это должен быть HTTP POST с Content-Type=application/x-www-form-urlencoded, в теле один параметр threeDsMethodData со значением, полученным от Платежного шлюза в параметре threeDSMethodData (внимание на регистр).

Передача информации о браузере устройства

Данный процесс необходим только в случае требования подтверждения платежа с технологией 3ds2.

Описание

Метод работает без возможности использования параметра CancellationToken. Т.к. при вызове метода - обязательно процесс должен пройти до своего логического конца.

Входные параметры

Заголовок запроса

POST
Endpoint: /payment/3ds2/proceed HTTP/1.1
Content-Type: application/json
Session-Id: {значение}
Accept: {значение}
User-Agent: {значение}

<Основные параметры>

Основные параметры

Поле

Тип

Обяз.

Описание

Request-IdguidдаИдентификатор конкретного запроса

Requestor-Name

string

нет

Наименование сервиса.

  • Для веба - домен, на котором запущен виджет.
  • Для SDK - идентификатор приложения.
  • Для API - имя вызывающей системы.
Requestor-Typestringнет

Тип витрины.

  • API
  • Web Widget
  • Web Page
  • SDK Apple
  • SDK Android
Requestor-VersionstringнетВерсия виджета/sdk

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

Поле

Тип

Обяз.

Описание

Session-Id

string [36]

да

Идентификатор платежной сессии

User-AgentstringдаСодержимое HTTP-заголовка
AcceptstringдаUser-Agent браузера, содержимое HTTP-заголовка user-agent

Тело запроса

Поле

Тип

Обяз.

Описание

threeDsRequestorUrl

string (1024)

да

протокол + хост ТСП(origin)

browserAcceptHeader

string

нет

Содержимое HTTP-заголовка

browserUserAgent

string

нет

User-Agent браузера, содержимое HTTP-заголовка user-agent.

browserJavaEnabled

boolean

нет

Признак доступности JAVA в браузере клиента, необязательный, если JavaScript недоступен

browserJavascriptEnabled

boolean

да

Признак доступности JavaScript в браузере клиента

browserLanguage

string

да

Язык браузера клиента (свойство navigator.language)

browserColorDepth

Int32

нет

Глубина цвета в браузере клиента: 1, 4, 8, 15, 16, 24, 32, 48. Необязательно, если JavaScript недоступен. Если полученное значение не соответствует одному из разрешенных значений, необходимо осуществить округление в меньшую сторону. Например, если получено значение 30, преобразовываем его в 24

browserScreenHeight

string

нет

Разрешение экрана по высоте в пикселях

browserScreenWidth

string

нет

Разрешение экрана по ширине в пикселях

browserTZ

string

нет

Тайм-зона браузера. Разница во времени между UTC и локальным временем клиента в минутах

challengeWindowSize

string

нет

Размер окна для запроса паролей эмитентом:

  • 01 = 250 x 400;
  • 02 = 390 x 400;
  • 03 = 500 x 600;
  • 04 = 600 x 400;
  • 05 = Полный экран

Выходные параметры

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

Поле

Тип

Обяз.

Описание

confirm

object

нет

Обязательно, если требуется подтверждение операции

result

object

нет

Обязательно, если подтверждение не требуется и процесс завершен

Описание структуры confirm

Поле

Тип

Обяз.

Описание

3ds2

object

да

Подтверждение 3DSecure

Описание структуры 3ds2

Поле

Тип

Обяз.

Описание

acsUrl

string

да

URL-адрес банка эмитента (сервер ACS), на который клиент должен быть перенаправлен

сReq

string

да

Параметр для проведения процедуры 3DSecure

Описание структуры result

Поле

Тип

Обяз.

Описание

operationDate

dateTime

да

Дата и время выполнения операции

paymentIdint64даИдентификатор платежа
processingIdstringдаИдентификатор платежа в системе процессинга
statusstringда

Статус платежа

  • inProgress - в процессе исполнения
  • executed - выполнен
paymentToolInfostringдаСпособ оплаты, которым проведен платеж

Пример

Заголовок запроса

POST
Endpoint: /payment/3ds2/proceed HTTP/1.1
Content-Type: application/json
Request-Id: 5cdd933a-48d0-4f59-a1a0-3b76f3fae658
Session-Id: d6946779-dd1a-4e91-8e21-e0ddc8a00288
Accept: application/json
User-Agent: okhttp/4.9.0

Тело запроса

{
    "threeDsRequestorUrl": "https://threeDsRequestorUrl.ru",
    "browserAcceptHeader": "acceptHeader_ECB6CA7FA3194C7FAEF5F32D6836939C",
    "browserIP": "1.12.123.255",
    "browserJavaEnabled": true,
    "browserJavascriptEnabled": true,
    "browserLanguage": "ru",
    "browserColorDepth": "32",
    "browserScreenHeight": "1920",
    "browserScreenWidth": "1080",
    "browserTZ": "0",
    "browserUserAgent": "browserUserAgent_ECB6CA7FA3194C7FAEF5F32D6836939C",
    "challengeWindowSize": "05"
}

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

{
    "confirm": {
        "acsUrl": "string",
        "cReq": "string"
    }
}
{
    "result": {
        "operationDate": "2020-12-28T07:40:29.870Z",
        "paymentId": 1234456,
        "processingId": "1232399",
        "status": "inProgress"
    }
}

Возможные коды ошибок

code

message

userMessage

00199998

Validation error

Не пройдена валидация данных

00199999

An unexpected error has occurred

Непредвиденная ошибка

00100036Failed to create payment token. Payment cancelled. Please try again.Не удалось создать платежный токен. Платеж отменен. Повторите попытку.
00100043Scenario cannot be continued because payment status in_progressПроизошла системная ошибка. Деньги списаны, но мы скоро их вернём
02000017Payment completed unsuccessfullyПопробуйте повторить операцию или обратитесь в службу поддержки
02005000PCEK: unexpected error. extSystemErrorCode: [errorCode]Непредвиденная ошибка
02005001PCEK: payment confirmation problems. extSystemErrorCode: [errorCode]Проблемы с подтверждением платежа. Попробуйте снова.
02005002PCEK: card expired. extSystemErrorCode: [errorCode]Истёк срок действия карты
02005003Processing: Confirmation failedПодтверждение не выполнено
02005006PCEK: payment limits restriction. extSystemErrorCode: [errorCode]Превышен лимит на платежи через выбранный способ оплаты
02005007PCEK: service unavailableСервис временно недоступен. Попробуйте повторить позже.
02005009Processing: Insufficient fundsНедостаточно средств. Измените способ оплаты и попробуйте снова.
02005011PCEK: CVC/CVV is invalid. extSystemErrorCode: [errorCode]Неверный код безопасности (CVC/CVV)
02005013PCEK: expiry date is invalid. extSystemErrorCode: [errorCode]Неверный срок действия карты
02005014PCEK: card pan is invalid. extSystemErrorCode: [errorCode]Неверный номер карты
02005016Bank acquirer: invalid merchant or terminal. extSystemErrorCode: [errorCode]Оплата через выбранный способ оплаты временно недоступна
02005017Bank issuer: general error. extSystemErrorCode: [errorCode]Ваш банк отклонил платёж
02005018Bank issuer: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Оплата по выбранной карте недоступна
02005019PCEK: payment declined. extSystemErrorCode: [errorCode]Платёж отклонен. Смените способ оплаты и попробуйте снова.
02005023PCEK: The amount is greater than the maximum allowed. extSystemErrorCode: [errorCode]Сумма платежа больше максимально разрешенной
02005024PCEK: The amount is less than the minimum allowed. extSystemErrorCode: [errorCode]Сумма платежа меньше минимально
02005025PCEK: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Платёж отклонён системой безопасности
02005030Fraudcontrol: exceeding limits. extSystemErrorCode: [errorCode]Платёж отклонен системой безопасности
02005031PCEK: invalid provider or provider configuration. extSystemErrorCode: [errorCode]Оплата через выбранный способ оплаты временно недоступна
02005032ESPP: account top up is not available. extSystemErrorCode: [errorCode]Пополнение выбранного счёта недоступно
02005033PCEK Provider: The system cannot process the paymentОперация не выполнена. Выберете другой способ оплаты или обратитесь в службу поддержки.
02005034PCEK FM: bank card is used in another account. extSystemErrorCode: [errorCode]Банковская карта уже привязана к другому аккаунту
02005036Bank issuer: payment restriction. extSystemErrorCode: [errorCode]Ваш банк ограничил оплату с выбранной карты
02005040PCEK FM: safety restriction. extSystemErrorCode: [errorCode]Превышен лимит на платежи
02005042PCEK: service unavailable. extSystemErrorCode: [errorCode]Сервис временно недоступен
02005043PCEK: bank issuer have some problems. extSystemErrorCode: [errorCode]Ваш банк отклонил платёж
02005044PCEK FM: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Платёж отклонён системой безопасности
02005047PCEK Provider: service unavailable. extSystemErrorCode: [errorCode]Сервис временно недоступен
02005048PCEK Provider: wrong payment parameters specified. extSystemErrorCode: [errorCode]Неверные реквизиты оплаты
02005049PCEK: payment from billing account is not available. extSystemErrorCode: [errorCode]Оплата со счёта телефона временно недоступна
02005051ESPP: service unavailable. extSystemErrorCode: [errorCode]Оплата временно недоступна
02005052ESPP: client is legal entity. extSystemErrorCode: [errorCode]Выбранный способ оплаты доступен только физическим лицам
02005053ESPP: payment restriction installed by the client. extSystemErrorCode: [errorCode]Оплата со счёта запрещена
02005054ESPP: incorrect account parameters. extSystemErrorCode: [errorCode]Оплата через выбранный способ оплаты временно недоступна
02005056Bank issuer: insufficient funds extSystemErrorCode: [errorCode]Недостаточно средств
02005057Bank issuer: invalid CVC or another safety restriction. extSystemErrorCode: [errorCode]Неверный код безопасности (CVC/CVV)
02005058Bank issuer: card expired. extSystemErrorCode: [errorCode]Истек срок действия карты
02005060Bank issuer: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Ваш банк отклонил платеж. Ограничения на карте.
02005061Bank acquirer: general error. extSystemErrorCode: [errorCode]Банк отклонил платёж
02005064Bank issuer: payment restriction. extSystemErrorCode: [errorCode]Ваш банк ограничил оплату с выбранной карты
02005065Bank acquirer: fatal general error. extSystemErrorCode: [errorCode]Банк откло