.. meta:: :description: /api/3ds/v1/upload-cres-result API endpoint Payneteasy: передаёт Challenge Response (CRes) от ACS для завершения аутентификации 3DS 2.x. .. _/api/3ds/v1/upload-cres-result/: /api/3ds/v1/upload-cres-result ############################### .. role:: ex .. role:: code После получения значения :code:`cRes` по адресу :ex:`notificationURL` загрузите результаты запросом :code:`HTTP POST` на указанные ниже :ref:`URL` и :ref:`параметры`. .. _/api/3ds/v1/upload-cres-result/_url: API URL ^^^^^^^^ .. note:: | Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Интеграционная среда - Производственная среда * - :ex:`https://sandbox.payneteasy.ru/paynet/api/3ds/v1/upload-cres-result/ENDPOINTID` - :ex:`https://gate.payneteasy.ru/paynet/api/3ds/v1/upload-cres-result/ENDPOINTID` * - :ex:`https://sandbox.payneteasy.ru/paynet/api/3ds/v1/upload-cres-result/ENDPOINTGROUPID` - :ex:`https://gate.payneteasy.ru/paynet/api/3ds/v1/upload-cres-result/ENDPOINTGROUPID` .. _/api/3ds/v1/upload-cres-result/_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 20, 15, 65 :header-rows: 1 :class: longtable * - Название параметра - Max Length - Описание * - :code:`cRes` - 4096 - Сообщение CRes — это ответ ACS на сообщение CReq. Оно указывает результат аутентификации держателя карты. * - :code:`orderid` - 128 - Идентификатор заказа, присвоенный Payneteasy. * - :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` (контрольный ключ, назначенный учётной записи Торговца в системе Платёжного Шлюза Payneteasy) Параметры ответа ^^^^^^^^^^^^^^^^^^^ .. 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`, параметры :code:`error-message` и :code:`error-code` содержат сведения об ошибке. * - :code:`paynet-order-id` - Идентификатор заказа, присвоенный Payneteasy. * - :code:`merchant-order-id` - Торговец order id. * - :code:`serial-number` - Уникальный номер, присвоенный сервером Payneteasy конкретному запросу от торговца. * - :code:`error-message` - Для транзакций в статусе :ex:`error` этот параметр будет содержать причину отклонения или сведения об ошибке. * - :code:`error-code` - Код ошибки в случае статуса :code:`error`. Пример запроса ^^^^^^^^^^^^^^^ .. code-block:: guess POST /paynet/api/3ds/v1/upload-cres-result/39529 HTTP/1.1 User-Agent: curl/7.83.0 Accept: */* Content-Length: 495 Content-Type: application/x-www-form-urlencoded Connection: close cres=ewogICJtZXNzYWdlVHlwZSIgICAgOiAiQ1JlcyIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjEuMCIsCgogICJ0aHJlZURTU2VydmVyVHJhbnNJRCIgOiAiZDAwYTdhZmUtMmE0ZC00NmI0LThmN2YtZjRlZmFkZjE0MmIzIiwKICAiYWNzVHJhbnNJRCIgICAgICAgICAgIDogImFjYWMwMzAxLTVlMWItNDk3Yy04NzA0LTZkNTU5NTc1YTRmZSIsCgogICJjaGFsbGVuZ2VDb21wbGV0aW9uSW5kIiA6ICJZIiwKICAidHJhbnNTdGF0dXMiICAgICAgICAgICAgOiAiWSIKfQ== &orderid=6684126 &control=d0539beedb9a7266547530c8d2027f2b14503a61 &login=test1 &client-order-id=1e21f041-871d-4642-a6d9-968457df47a0 Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: js 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-000002d6202d &merchant-order-id=1e21f041-871d-4642-a6d9-968457df47a0 &paynet-order-id=6684126 Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^ .. code-block:: js 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_CRes_Result_Debug.html