.. meta:: :description: /api/v2/capture API endpoint SBC: списывает средства, ранее заблокированные preauth, с параметрами запроса, кодами ответа и примерами вызовов. .. _/api/v2/capture/: /api/v2/capture ################################ .. role:: ex .. role:: code Введение ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Списание инициируется через запрос :code:`HTTPS POST` на указанный ниже :ref:`URL` с использованием указанных :ref:`параметров`. Для аутентификации запроса используется :ref:`SHA-1`. Списание может быть вызвано только по предавторизации в конечном успешном статусе. См. :ref:`Статусы транзакций`. .. _api_v2_capture_request_url: API URL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: | Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Интеграционная среда - Производственная среда * - :ex:`https://sandbox.sbctech.ru/paynet/api/v2/capture/ENDPOINTID` - :ex:`https://gate.sbctech.ru/paynet/api/v2/capture/ENDPOINTID` * - :ex:`https://sandbox.sbctech.ru/paynet/api/v2/capture/group/ENDPOINTGROUPID` - :ex:`https://gate.sbctech.ru/paynet/api/v2/capture/group/ENDPOINTGROUPID` .. _api_v2_capture_request_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. note:: | Запрос должен иметь заголовок content-type=application/x-www-form-urlencoded. .. list-table:: :widths: 25, 75 :header-rows: 1 :class: longtable * - Параметры запроса - Описание * - :code:`login` - Логин Присоединяющейся Стороны в Платёжном Шлюзе. * - :code:`client_orderid` - Идентификатор заказа Присоединяющейся Стороны для транзакции, статус которой запрашивается. * - :code:`orderid` - Номер заказа в системе SBC * - :code:`currency` - Валюта списания транзакции (см. :ref:`коды валют`). Примеры: :ex:`USD` для доллара США, :ex:`EUR` для евро. Этот параметр может передаваться или не передаваться. * - :code:`amount` - Сумма списания. Сумму необходимо указать в старших единицах с разделителем :ex:`.`. Например, :ex:`10.5` для USD означает 10 долларов США и 50 центов. Этот параметр может передаваться или не передаваться. * - :code:`control` - | Контрольная сумма, сгенерированная :ref:`SHA-1`. Строка для подписи представляет собой объединение следующих параметров: | 1. Параметр запроса::ex:`login`. | 2. Параметр запроса: :ex:`merchant-order-id`. | 3. Параметр запроса: :ex:`paynet-order-id`. | 4. Параметр запроса::ex:`amount` в минимальных денежных единицах (если отправлен). | 5. Параметр запроса: :ex:`currency` (если отправлена сумма). | 6.:ex:`merchant_control` (Контрольный ключ, назначенный для учетной записи Присоединяющейся Cтороны в SBC). Параметры ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. 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` - Идентификатор заказа, присвоенный SBC. * - :code:`merchant-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/v2/capture/39914 HTTP/1.1 Host: sandbox.sbctech.ru User-Agent: curl/7.83.0 Accept: */* Content-Length: 119 Content-Type: application/x-www-form-urlencoded Connection: close login=TestMerchant &client_orderid=902B4FF5 &orderid=6863088 &amount=345 ¤cy=USD &control=da832c0fcff0105728e26465d5f99e6f83179a45 Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: http HTTP/1.1 200 OK Server: server Date: Mon, 22 Aug 2022 13:15:19 GMT Content-Type: text/html;charset=utf-8 Connection: close Vary: Accept-Encoding X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 Content-Language: en-US Strict-Transport-Security: max-age=31536000 Content-Length: 140 type=async-response &serial-number=00000000-0000-0000-0000-000002ddb06a &merchant-order-id=902B4FF5 &paynet-order-id=6863088 &end-point-id=37211 Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: http HTTP/1.1 200 OK Server: server Date: Mon, 22 Aug 2022 12:59:09 GMT Content-Type: text/html;charset=utf-8 Connection: close Vary: Accept-Encoding X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 Content-Language: en-US Strict-Transport-Security: max-age=31536000 Content-Length: 154 pe=validation-error &serial-number=00000000-0000-0000-0000-000002ddb06b &error-message=Can+not+make+capture+for+order+state+AUTH_3D_VALIDATING &error-code=27 .. 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_preauth.html Конструктор запросов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/examples/capture_transaction_Request_Debug.html