.. meta:: :description: /api/v2/sale API endpoint Payneteasy: продажа по карте server-to-server с полными параметрами запроса, кодами ответа и примерами пейлоадов. .. _/api/v2/sale/: /api/v2/sale ########################## .. role:: ex .. role:: code Введение ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Оплата инициируется через запрос :code:`HTTPS POST` на указанный ниже :ref:`URL` с использованием указанных :ref:`параметров`. Для аутентификации запроса используется :ref:`SHA-1`. См. :ref:`Статусы транзакций`. .. _api_v2_sale_request_url: API URL ^^^^^^^^^^^^^^^^^^^^^^^ .. note:: | Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Интеграционная среда - Производственная среда * - :ex:`https://sandbox.payneteasy.ru/paynet/api/v2/sale/ENDPOINTID` - :ex:`https://gate.payneteasy.ru/paynet/api/v2/sale/ENDPOINTID` * - :ex:`https://sandbox.payneteasy.ru/paynet/api/v2/sale/group/ENDPOINTGROUPID` - :ex:`https://gate.payneteasy.ru/paynet/api/v2/sale/group/ENDPOINTGROUPID` .. _api_v2_sale_request_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: | Запрос должен иметь заголовок content-type=application/x-www-form-urlencoded. | Банк может переопределить необходимость некоторых полей, сделав их обязательными. | Пробелы в начале и в конце значений параметров будут отсечены. .. warning:: В значениях параметров необходимо экранировать следующие символы: :code:`&` :code:`+` :code:`"`. .. list-table:: :widths: 30, 50, 20 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`client_orderid` - Уникальный идентификатор заказа, присвоенный Присоединяющейся Стороной. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 128 * - :code:`order_desc` - Описание заказа. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 64k * - :code:`amount` - Сумма к оплате. Сумма должна быть указана в наибольших единицах с разделителем :ex:`.`. Например, :ex:`10.5` для USD означает 10 долларов США и 50 центов. - | ``Необходимость``: Обязательно | ``Тип``: Numeric | ``Длина``: 10 * - :code:`currency` - Валюта, в которой проводится операция (см. :ref:`Коды валют`). Примеры значений: :ex:`USD` для доллара США, :ex:`EUR` для европейского евро, RUB для российского рубля. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 3 * - :code:`address1` - Адрес Плательщика, строка 1. (Обратите внимание, что в некоторых случаях невозможно отправить адрес длиной более 50 символов. Для получения более подробной информации обратитесь к вашему менеджеру.) - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 256 * - :code:`city` - Город Плательщика. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 50 * - :code:`zip_code` - Почтовый индекс Плательщика. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 10 * - :code:`country` - Страна Плательщика. Для списка действительных кодов см. :ref:`Коды стран`. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 2 * - :code:`phone` - Полный международный номер телефона Плательщика, включая код страны. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 15 * - :code:`email` - Адрес электронной почты Плательщика. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 50 * - :code:`ipaddress` - IP-адрес Плательщика, передаётся для целей мониторинга мошенничества. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 45 * - :code:`control` - | Контрольная сумма, сгенерированная :ref:`SHA-1`. Строка для подписи представляет собой объединение следующих параметров: | 1. :ex:`` (См.: :ref:`URL запроса`) | 2. Параметр запроса: :ex:`client_orderid` | 3. Параметр запроса: :ex:`amount` в минимальных денежных единицах | 4. Параметр запроса: :ex:`email` | 5. :ex:`merchant_control` (Контрольный ключ, назначенный для учетной записи Присоединяющейся стороны в Payneteasy). - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 40 * - :code:`cvv2` - CVV2-код Плательщика. CVV2 (Card Verification Значение) — это трех- или четырех-значное число ПОСЛЕ номера кредитной карты в области подписи карты. - | ``Необходимость``: Обязательно | ``Тип``: Numeric | ``Длина``: 3-4 * - :code:`credit_card_number` - Номер банковской карты Плательщика. Нужно отправлять или комбинацию из :code:`credit_card_number`, :code:`card_printed_name`, :code:`expire_month` и :code:`expire_year` или параметр :code:`card_recurring_payment_id`, но не все в одном запросе. - | ``Необходимость``: Условно | ``Тип``: Numeric | ``Длина``: 20 * - :code:`card_recurring_payment_id` - Токенизированный идентификатор владельца карты. Нужно отправлять или параметр :code:`card_recurring_payment_id` или комбинацию из :code:`credit_card_number`, :code:`card_printed_name`, :code:`expire_month` и :code:`expire_year`, но не все в одном запросе. Для создания :code:`card_recurring_payment_id` см. :ref:`api-v4-card-ref-id`. - | ``Необходимость``: Условно | ``Тип``: Long | ``Длина``: 20 * - :code:`card_printed_name` - Имя владельца карты, напечатанное на банковской карте. - | ``Необходимость``: Условно | ``Тип``: String | ``Длина``: 128 * - :code:`expire_month` - Месяц окончания срока действия банковской карты. - | ``Необходимость``: Условно | ``Тип``: Numeric | ``Длина``: 2 * - :code:`expire_year` - Год окончания срока действия банковской карты. - | ``Необходимость``: Условно | ``Тип``: Numeric | ``Длина``: 4 * - :code:`first_name` - Имя Плательщика. Необходимость параметра можно уточнить у отдела поддержки. Зависит от канала эквайринга. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 50 * - :code:`last_name` - Фамилия Плательщика. Необходимость параметра зависит от канала эквайринга и необходимость параметра, необходимо уточнять у техподдержки. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 50 * - :code:`state` - Штат Плательщика. Для списка действительных кодов штатов см. :ref:`Обязательные коды штатов`. Требуется для США, Канады и Австралии. - | ``Необходимость``: Условно | ``Тип``: String | ``Длина``: 2-3 * - :code:`redirect_url` - | URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление выполняется в любом случае, независимо от того, получила ли транзакция статус :ex:`successful`, :ex:`unsuccessful` или любой другой конечный статус (см. :ref:`Статусы транзакций`). | Присоединяющаяся Сторона не должна использовать параметры, которые посылаются вместе с HTTP-запросом перенаправления на обработку статуса транзакции. Вместо этого Присоединяющаяся Сторона может использовать:ex:`server_callback_url` или:ref:`АПИ команду запроса статуса`. Если же нет необходимости перенаправлять Плательщика, вписать:ex:`http://https://doc.payneteasy.ru`. Использовать или параметр:ex:`redirect_url`, или комбинацию параметров:ex:`redirect_success_url` и:ex:`redirect_fail_url`, не оба. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 1024 * - :code:`redirect_success_url` - | URL-адрес, на который будет перенаправлен Плательщик после получения :ex:`успешного` статуса транзакции (см. :ref:`Статусы транзакций`). | Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать :ex:`server_callback_url` или :ref:`запрос статуса`. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением :ex:`http://https://doc.payneteasy.ru`. Допускается использование либо параметра :ex:`redirect_url`, либо комбинации параметров :ex:`redirect_success_url` и :ex:`redirect_success_url`, но не и того, и другого одновременно. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 1024 * - :code:`redirect_fail_url` - | URL-адрес, на который будет перенаправлен Плательщик после получения :ex:`неуспешного` статуса транзакции (см. :ref:`Статусы транзакций`). | Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать:ex:`server_callback_url` или:ref:`запрос статуса`. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением:ex:`http://https://doc.payneteasy.ru`. Допускается использование либо параметра:ex:`redirect_url`, либо комбинации параметров:ex:`redirect_success_url` и:ex:`redirect_success_url`, но не и того, и другого одновременно. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 1024 * - :code:`ssn` - Последние четыре цифры номера социального страхования Плательщика. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 32 * - :code:`birthday` - Дата рождения Плательщика в формате :ex:`YYYYMMDD`. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 8 * - :code:`cell_phone` - Полный международный мобильный номер телефона Плательщика, включая код страны. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 15 * - :code:`site_url` - URL-адрес сайта электронной коммерции, откуда происходит платеж. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 128 * - :code:`purpose` - Назначение платежа. Параметр может использоваться для указания пополняемого счёта (счета мобильных телефонов, игровые учётные записи и т. д.). Примеры значений::ex:`+9999999999`;:ex:`mail@example.com` и т. д. Это значение может проверяться системой защиты от мошенничества. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 128 * - :code:`server_callback_url` - | URL-адрес :ex:`server_callback_url`, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе :ref:`Обратного вызова Присоединяющейся стороны`. Данный параметр может быть передан вместо :ex:`notify_url`. При использовании :ex:`server_callback_url` платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции. При использовании :ex:`notify_url` платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.). - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 1024 * - :code:`notify_url` - | URL-адрес :ex:`notify_url`, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе :ref:`Обратного вызова Присоединяющейся стороны`. Данный параметр может быть передан вместо :ex:`server_callback_url`. При использовании :ex:`notify_url` платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.). При использовании :ex:`server_callback_url` платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 1024 * - :code:`order_desc` - | Дополнительные сведения о транзакции для Присоединяющейся Стороны, которые можно прикрепить к транзакции и получить обратно в ответе на:ref:`запрос статуса`,:ref:`обратном вызове Присоединяющейся Стороны` или:ex:`server_callback_url`. Может содержать данные, которые будут полезны во внешней системе Присоединяющейся Стороны, например:ex:`VIP клиент`,:ex:`телевизионная промо-кампания`. | Информация возвращается в ответе на запрос статуса и в обратном вызове Присоединяющейся Стороны. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 64k * - :code:`dapi_imei` - Уникальный идентификатор устройства. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 32 * - :code:`minimum_transaction_amount` - Этот параметр можно использовать для ограничения минимальной суммы транзакции, если сумма транзакции доступна для указания Плательщиком в форме. Свяжитесь с менеджером службы поддержки, чтобы включить эту функцию. Формат значения такой же, как и в параметре:ex:`amount`. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 10 * - :code:`maximum_transaction_amount` - Этот параметр можно использовать для ограничения максимальной суммы транзакции, если сумма транзакции доступна для указания Плательщиком в форме. Свяжитесь с менеджером службы поддержки, чтобы включить эту функцию. Формат значения такой же, как и в параметре:ex:`amount`. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 10 * - :code:`customer_level` - Уровень клиента в системе CMS. - | ``Необходимость``: Опционально | ``Тип``: Varchar | ``Длина``: 32 * - :code:`customer_id` - Идентификатор клиента в системе CMS. Параметр становится обязательным, если включена система CMS в режиме определения клиента Платёжным шлюзом. - | ``Необходимость``: Опционально | ``Тип``: Int | ``Длина``: 10 * - :code:`merchant_customer_identifier` - Идентификатор клиента в системе CMS, назначенный Присоединяющейся Стороной. Параметр становится обязательным, если включена система CMS в режиме CRM. - | ``Необходимость``: Опционально | ``Тип``: Varchar | ``Длина``: 64 * - :code:`recurring-payment-id` - Recurring Payment ID может быть передан вместо данных держателя карты. Для нативных транзакций CVV не требуется. Обновление данных клиента возможно через:ref:`/api/v4/update-recurring-payment/`. Процесс создания Recurring Payment ID инициируется:code:`HTTPS POST` запросом с использованием указанных ниже:ref:`URLs`. и:ref:`параметров`, используйте:ref:`RSA-SHA256` для аутентификация - | ``Необходимость``: Условно | ``Тип``: Long .. include:: spb_request_parameters_api_v2_sale.rst .. _api_v2_sale_additional_form: Дополнительные параметры ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Для Присоединяющейся Стороны """""""""""""""""""""""""""""""""""""""""" .. note:: | Данные браузера для 3DS 2.X собираются системой Присоединяющейся Стороны на этапе 3DS аутентификации. Однако для некоторых каналов обработки браузерные данные и/или URL-адрес Присоединяющейся Стороны для результатов 3DS challenge должны быть указаны в изначальном запросе на проведение транзакции. Свяжитесь с менеджером службы поддержки, чтобы уточнить, следует ли включать эти параметры в параметры запроса. Сайт Присоединяющейся Стороны должен точно заполнять информацию о браузере по каждой транзакции. Эти данные могут быть получены серверами Присоединяющейся Стороны. Убедитесь, что данные не изменены и не жестко запрограммированы, и что они уникальны для каждой транзакции. .. list-table:: :widths: 30, 40, 25 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`customer_browser_accept_header` - Точное содержание заголовков HTTP Accept, отправленное инициатору запроса 3DS из браузера владельца карты. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 2048 * - :code:`customer_browser_javascript_enabled` - Boolean, представляющий cпособность браузера владельца карты запускать JavaScript. - | ``Необходимость``: Обязательно | ``Тип``: Boolean | ``Длина``: - * - :code:`customer_browser_accept_language` - Значение, представляющее язык браузера, по определено IETF BCP47. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 8 * - :code:`customer_browser_user_agent` - Точное содержание заголовка HTTP user-agent. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 2048 * - :code:`customer_browser_info` - Если true, параметры, приведенные ниже, должны быть указаны. - | ``Необходимость``: Опционально | ``Тип``: Boolean | ``Длина``: - * - :code:`customer_browser_color_depth` - Значение, представляющее разрядность цветовой палитры для отображения изображений, в битах на пиксель. Становится обязательным, когда :code:`browser_javaScript_enabled` = true». - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 2 * - :code:`customer_browser_java_enabled` - Boolean, который представляет способность браузера владельца карты запускать Java. Становится обязательным, когда :code:`browser_javaScript_enabled` = true. - | ``Необходимость``: Опционально | ``Тип``: Boolean | ``Длина``: - * - :code:`customer_browser_screen_height` - Общая высота экрана владельца карты в пикселях. Требуется, когда :code:`browser_javaScript_enabled` = true. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 6 * - :code:`customer_browser_screen_width` - Общая ширина экрана владельца карты в пикселях. Требуется, когда :code:`browser_javaScript_enabled` = true. - | ``Необходимость``: Опционально | ``Тип``: Numeric | ``Длина``: 6 * - :code:`customer_browser_time_zone` - Смещение часового пояса в минутах между UTC и местным временем браузера держателя карты. Обратите внимание, что смещение является положительным, если местный часовой пояс отстает от UTC, и отрицательным, если он опережает UTC. Становится обязательным, когда :code:`browser_javaScript_enabled` = true. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 5 * - :code:`tds_areq_notification_url`, alias :code:`tds_cres_notification_url` - Полный URL-адрес системы Присоединяющейся Стороны, которая получит сообщение CRes или сообщение об ошибке. Это сообщение CRes должно быть отправлено Payneteasy. См. :ref:`Загрузка результата CRes`. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 256 Для платежных учреждений """""""""""""""""""""""""""""""""""""""""""""""""" PSP или эквайер могут заполнить результаты 3DS для каждой транзакции, если выполнение 3DS аутентификации происходит на их стороне. .. include:: ../rst_include/additional_fields_for_psp.txt .. _api_v2_sale_response_parameters: Параметры ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: | Ответ имеет заголовок Content-Type: text/html;charset=utf-8. Все поля имеют кодировку x-www-form-urlencoded, с символом (0xA) в конце значения каждого параметра. .. 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` - Идентификатор заказа, присвоенный Payneteasy. * - :code:`merchant-order-id` - Идентификатор заказа Присоединяющейся Стороны. * - :code:`serial-number` - Уникальный номер, присваиваемый сервером Payneteasy конкретному запросу от Присоединяющейся стороны. * - :code:`error-message` - Для транзакций в статусе :ex:`declined` или :ex:`error`, этот параметр будет содержать причину отклонения или сведения об ошибке. * - :code:`error-code` - Код ошибки для транзакций в статусе :ex:`declined` или :ex:`error`. * - :code:`end-point-id` - Идентификатор терминала, используемый для транзакции. Пример запроса с данными владельца карты ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: guess POST /paynet/api/v2/sale/39529 HTTP/1.1 User-Agent: curl/7.83.0 Accept: */* Content-Length: 314 Content-Type: application/x-www-form-urlencoded Connection: close credit_card_number=4538977399606732 &card_printed_name=John &expire_month=01 &expire_year=2042 &cvv2=123 &client_orderid=34T43R77N &order_desc=Test Order Описание &first_name=John &last_name=Smith &ssn=1267 &birthday=19820115 &address1=100%20Main%20st &city=Seattle &state=WA &zip_code=98102 &country=US &phone=+12063582043 &cell_phone=+19023384543 &amount=156 &email=john.smith@gmail.com ¤cy=RUB &ipaddress=65.153.12.232 &site_url=https://doc.payneteasy.ru &purpose=user_account1 &redirect_url=http%3A%2F%2Fhttps://doc.payneteasy.ru%2Fdoc%2Fdummy.htm &server_callback_url=https%3A%2F%2Fhttpstat.us%2F200 &merchant_data=VIP customer &dapi_imei=123 &control=c821e33bd22773c05c23725d0b1d2dbd9f191399 .. only:: sbp_parameters_enabled | **Пример запроса для СПБ** .. code-block:: text POST /paynet/api/v2/sale/39529 HTTP/1.1 User-Agent: curl/7.83.0 Accept: */* Content-Length: 314 Content-Type: application/x-www-form-urlencoded Connection: close &client_orderid=34T43R77N &order_desc=Test Order Описание &first_name=John &last_name=Smith &ssn=1267 &birthday=19820115 &address1=100%20Main%20st &city=Seattle &state=WA &zip_code=98102 &country=US &phone=+12063582043 &cell_phone=+19023384543 &amount=156 &email=john.smith@gmail.com ¤cy=RUB &ipaddress=65.153.12.232 &site_url=https://doc.payneteasy.ru &purpose=user_account1 &redirect_url=http%3A%2F%2Fhttps://doc.payneteasy.ru%2Fdoc%2Fdummy.htm &server_callback_url=https%3A%2F%2Fhttpstat.us%2F200 &merchant_data=VIP customer &dapi_imei=123 &control=c821e33bd22773c05c23725d0b1d2dbd9f191399 Пример запроса с идентификатором регулярного платежа по карте ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: guess POST /paynet/api/v2/sale/39915 HTTP/1.1 Host: sandbox.payneteasy.ru User-Agent: curl/7.83.0 Accept: */* Content-Length: 317 Content-Type: application/x-www-form-urlencoded Connection: close card_recurring_payment_id=1491954 &cvv2=123 &client_orderid=34T43R77N &order_desc=Test Order Описание &amount=777 ¤cy=USD &ipaddress=65.153.12.232 &redirect_url=http://doc2.doc2.com/doc/dummy.htm &server_callback_url=https://httpstat.us/200 &control=80761544c64373d1624240add048d36d42fe528a Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: javascript 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-000002d9b22a &merchant-order-id=inv4097763 &paynet-order-id=6768788 &end-point-id=22903 Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: javascript HTTP/1.1 200 Server: server Date: Wed, 17 Nov 2021 13:14:40 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_sale.html Конструктор запросов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/examples/sale_transaction_Request_Debug.html