.. meta:: :description: Конечная точка API SBC /api/3ds/v1/upload-method-url-result: отправка в шлюз результата формирования цифрового отпечатка 3DS Method URL в процессе 3DS 2.x. .. _/api/3ds/v1/upload-method-url-result/: /api/3ds/v1/upload-method-url-result ##################################### .. role:: ex .. role:: code После завершения 3DS Method и сбора цифрового отпечатка браузера клиента загрузите результаты запросом :code:`HTTP POST` на указанные ниже :ref:`URL` и :ref:`параметры`. .. _/api/3ds/v1/upload-method-url-result/_url: API URL ^^^^^^^^ .. note:: | Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Интеграционная среда - Производственная среда * - :ex:`https://sandbox.sbctech.ru/paynet/api/3ds/v1/upload-method-url-result/ENDPOINTID` - :ex:`https://gate.sbctech.ru/paynet/api/3ds/v1/upload-method-url-result/ENDPOINTID` * - :ex:`https://sandbox.sbctech.ru/paynet/api/3ds/v1/upload-method-url-result/ENDPOINTGROUPID` - :ex:`https://gate.sbctech.ru/paynet/api/3ds/v1/upload-method-url-result/ENDPOINTGROUPID` .. _/api/3ds/v1/upload-method-url-result/_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 20, 15, 65 :header-rows: 1 :class: longtable * - Название параметра - Length - Описание * - :code:`orderid` - макс. 128 - Идентификатор заказа, присвоенный SBC. * - :code:`login` - макс. 20 - Логин Присоединяющейся Стороны в Платёжном Шлюзе. * - :code:`client-order-id` - макс. 128 - Идентификатор Merchant order. * - :code:`control` - макс. 40 - | Контрольная сумма, сгенерированная :ref:`SHA-1`. Строка для подписи представляет собой объединение следующих параметров: | 1. Параметр :ex:`login` | 2. :ex:`client_orderid` | 3. Параметр :ex:`orderid` | 4. :ex:`merchant_control` (контрольный ключ, назначенный учётной записи Торговца в системе Платёжного Шлюза SBC) * - :code:`threeDSServerTransID` - макс. 36 - 3DS Server Transaction ID. Универсальный уникальный идентификатор транзакции, присваиваемый 3DS Server для идентификации отдельной транзакции. * - :code:`browserAcceptHeader` - макс. 2048 - Заголовки Accept браузера. Точное содержимое HTTP-заголовков accept, отправленных 3DS Requestor из браузера держателя карты. * - :code:`browserIP` - макс. 45 - Browser IP Address.* * - :code:`browserJavaEnabled` - Описание: min 4, макс. 5 - true/false: Java включён в браузере. Логическое значение, отражающее способность браузера держателя карты выполнять Java. Значение возвращается из свойства navigator.javaEnabled. * - :code:`browserJavascriptEnabled` - Описание: min 4, макс. 5 - true/false Включён ли JavaScript в браузере. Логическое значение, отражающее способность браузера держателя карты выполнять javascript. * - :code:`browserLanguage` - макс. 8 - Значение, представляющее язык браузера согласно IETF BCP47. Возвращается из свойства navigator.language. * - :code:`browserColorDepth` - макс. 2 - Глубина цвета экрана браузера. Значение, представляющее битовую глубину цветовой палитры для отображения изображений в битах на пиксель. Получается из браузера держателя карты с помощью свойства screen.colorDepth. * - :code:`browserScreenHeight` - макс. 6 - Высота экрана браузера. Общая высота экрана держателя карты в пикселях. Значение возвращается из свойства screen.height. * - :code:`browserScreenWidth` - макс. 6 - Ширина экрана браузера. Общая ширина экрана держателя карты в пикселях. Значение возвращается из свойства screen.width. * - :code:`browserTZ` - макс. 5 - Часовой пояс браузера. Разница во времени между временем UTC и локальным временем браузера держателя карты, в минутах. Значение возвращается методом getTimezoneOffset(). * - :code:`browserUserAgent` - макс. 2048 - User-Agent браузера. Точное содержимое заголовка HTTP user-agent. Примечание: если общая длина User-Agent, отправленного браузером, превышает 2048 символов, сервер 3DS усекает лишнюю часть. * - :code:`threeDSCompInd` - макс. 1 - | Завершение метода 3DS. Указывает, был ли метод 3DS успешно завершён. | | Описание: Values accepted: | ``Y`` = успешно завершено | ``N`` = не завершено успешно. Метод 3DS не был завершён в течение 10 секунд. | ``U`` = Unavailable — :code:`tds-method-url-frame-3ds-method-url` отсутствовал в ответе Status. * - :code:`notificationURL` - макс. 256 - Полный URL-адрес системы торговца, которая получит сообщение CRes или сообщение об ошибке. Сообщение CRes отправляется ACS через браузер держателя карты в конце проверки. .. note:: | \\* IP-адрес браузера, возвращаемый HTTP-заголовками в адрес запроса 3DS IPv4, представлен в десятичном формате с точками: четыре группы десятичных чисел, разделённые точками. | Десятичное число в каждом наборе находится в диапазоне от 0 до 255. | Описание: Example IPv4 address: 1.12.123.255 | | Адрес IPv6 представляется в виде восьми групп по четыре шестнадцатеричных цифры, каждая группа представляет 16 бит (два октета). Группы разделяются двоеточиями (:). | Пример адреса IPv6: 2011:0db8:85a3:0101:0101:8a2e:0370:7334 Параметры ответа ^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 25, 75 :header-rows: 1 :class: longtable * - Название параметра - Описание * - :code:`type` - Тип ответа. Может принимать такие значения как: :ex:`async-response`, :ex:`validation-error`, :ex:`error` и т.д. Если тип ответа :ex:`validation-error` или :ex:`error`, параметры :ex:`error-message` и :ex:`error-code` будут содержать детали ошибки. * - :code:`paynet-order-id` - Идентификатор заказа, присвоенный SBC. * - :code:`merchant-order-id` - Торговец order id. * - :code:`serial-number` - Уникальный номер, присвоенный сервером SBC конкретному запросу от торговца. * - :code:`error-message` - Для транзакций в статусе :ex:`error` этот параметр будет содержать причину отклонения или сведения об ошибке. * - :code:`error-code` - Код ошибки для транзакций в статусе :ex:`error`. * - :code:`end-point-id` - Идентификатор терминала, используемый для транзакции. Пример запроса ^^^^^^^^^^^^^^^ .. code-block:: http POST /paynet/api/3ds/v1/upload-method-url-result/39529 HTTP/1.1 User-Agent: curl/7.83.0 Accept: */* Content-Length: 721 Content-Type: application/x-www-form-urlencoded Connection: close notificationURL=https://merchant.com/shop/notification/1e21f041-871d-4642-a6d9-968457df47a0 &browserLanguage=en-us &orderid=6684126 &browserColorDepth=24 &browserJavaEnabled=false &control=24dc828de77bae41b9c4bf4dcbdb5c80158eb2db &login=test_merchant &browserIP=10.25.8.19 &browserUserAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15 &browserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 &browserTZ=-180 &browserScreenHeight=900 &browserJavascriptEnabled=true &threeDSCompInd=Y &browserScreenWidth=1440 &client-order-id=1e21f041-871d-4642-a6d9-968457df47a0 &threeDSServerTransID=d00a7afe-2a4d-46b4-8f7f-f4efadf142b3 Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: http HTTP/1.1 200 Server: server Date: Wed, 17 Nov 2021 11:03:17 GMT Content-Type: text/html;charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=60 Vary: Accept-Encoding X-XSS-Protection: 1 Strict-Transport-Security: max-age=31536000 Content-Language: ru-RU P3P: CP="NOI ADM DEV COM NAV OUR STP" Content-Encoding: gzip type=async-response &serial-number=00000000-0000-0000-0000-000002d62029 &merchant-order-id=1e21f041-871d-4642-a6d9-968457df47a0 &paynet-order-id=6684126 Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^ .. code-block:: http HTTP/1.1 200 Server: server Date: Wed, 17 Nov 2021 11:03:17 GMT Content-Type: text/html;charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=60 Vary: Accept-Encoding X-XSS-Protection: 1 Strict-Transport-Security: max-age=31536000 Content-Language: ru-RU P3P: CP="NOI ADM DEV COM NAV OUR STP" Content-Encoding: gzip type=validation-error &serial-number=00000000-0000-0000-0000-000002b36f64 &merchant-order-id=inv4097763 &error-message=End+point+with+id+22903+not+found &error-code=3 .. only:: openapi_doc_enabled Open API Collection ^^^^^^^^^^^^^^^^^^^ Open this method in the OpenAPI Reference .. raw:: html View in OpenAPI Коллекция Postman ^^^^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/Postman/Postman_upload3ds.html Конструктор запросов ^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/examples/upload_method_URL_Result_Debug.html