.. meta:: :description: /api/v2/close-day API endpoint SBC: запускает процедуру закрытия дня банковского клиринга для конкретного endpoint через API вместо ручного закрытия. .. _/api/v2/close-day/: /api/v2/close-day ################## .. role:: ex .. role:: code Введение ^^^^^^^^^^^^ Gate Close Day инициируется запросом :code:`HTTPS POST` с использованием указанных ниже :ref:`URL` и :ref:`параметров`. Для аутентификации используйте :ref:`OAuth HMAC-SHA1`. См. :ref:`статусы`. .. _api_v2_close-day_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/close-day/ENDPOINTID` - :ex:`https://gate.sbctech.ru/paynet/api/v2/close-day/ENDPOINTID` .. _api_v2_close-day_request_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^ .. note:: | Запрос должен иметь заголовок content-type=application/x-www-form-urlencoded. .. list-table:: :widths: 30, 50, 20 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`day_close_request_id` - Уникальный идентификатор запроса. Может содержать буквы и цифры. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Length``: 8-32 * - :code:`sale_approved_count` - The номер of confirmed sale транзакцияs. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: - * - :code:`sale_approved_sum` - The сумма of confirmed sale транзакцияs. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: - * - :code:`reversal_approved_count` - The номер of confirmed reversal транзакцияs. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: - * - :code:`reversal_approved_sum` - The сумма of confirmed reversal транзакцияs. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: - .. _api_v2_close-day_response_parameters: Параметры ответа ^^^^^^^^^^^^^^^^^^^ .. note:: | Ответ имеет заголовок Content-Type: text/html;charset=utf-8. Все поля имеют кодировку x-www-form-urlencoded, с символом (0xA) в конце значения каждого параметра. .. list-table:: :widths: 30, 50, 20 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`status` - Close Day транзакция статус. - | ``Тип``: String * - :code:`gateId` - Close Day Gate ID. - | ``Тип``: Long * - :code:`isDayClosing` - Метка закрытия дня. Если :ex:`true`, шлюз блокируется. - | ``Тип``: Boolean * - :code:`gateCloseDate` - Описание: Close Day Gate day. - | ``Тип``: String * - :code:`epntId` - Свойство, назначенное банком конечной точке при её настройке в банковской системе. - | ``Тип``: Long * - :code:`saleApprovedCount` - The номер of confirmed sale транзакцияs. - | ``Тип``: String * - :code:`saleAmount` - The сумма of confirmed sale транзакцияs. - | ``Тип``: String * - :code:`reversalApprovedCount` - The номер of confirmed reversal транзакцияs. - | ``Тип``: String * - :code:`reversalAmount` - The сумма of confirmed reversal транзакцияs. - | ``Тип``: String * - :code:`code39` - Результат закрытия дня. Ответ банка на процедуру закрытия дня шлюза. - | ``Тип``: String * - :code:`RRN` - Номер закрытия дня, сгруппированный по идентификатору конечной точки. - | ``Тип``: String * - :code:`theRequestSerialNumber` - Serial номер of the Close Day запрос. - | ``Тип``: String Пример запроса ^^^^^^^^^^^^^^^ .. code-block:: http POST /paynet/api/v2/close-day/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 "day_close_request_id": {string}, "sale_approved_count": {string}, "sale_approved_sum": {string}, "reversal_approved_count": {string}, "reversal_approved_sum": {string} Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ | Информация о закрытом дне появится в ответе Платёжного Шлюза по мере её получения от процессоров (при одновременном закрытии нескольких гейтов). После закрытия дня гейта статус ответа будет установлен как «finished» независимо от того, было ли закрытие дня на всех гейтах успешным или часть гейтов (либо все) закрылась с ошибкой. .. 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: 1412 "response": { "status": "finished", "gates": [ { "gateId": 193, "isDayClosing": false, "gateCloseDate": "Mon Dec 10 14:44:21 MSK 2018", "epntId": 1, "saleApprovedCount": "2334", "saleAmount": "87328428482.00", "reversalApprovedCount": "123", "reversalAmount": "12393423.00", "code39": "000", "RRN": "2034829434" }, { "gateId": 82, "isDayClosing": false, "gateCloseDate": "Mon Dec 10 14:44:21 MSK 2018", "epntId": 1, "saleApprovedCount": "2334", "saleAmount": "87328428482.00", "reversalApprovedCount": "123", "reversalAmount": "12393423.00", "code39": "000", "RRN": "2034829434" }, { "gateId": 317, "isDayClosing": false, "gateCloseDate": "Mon Dec 10 14:44:21 MSK 2018", "epntId": 1, "saleApprovedCount": "2334", "saleAmount": "87328428482.00", "reversalApprovedCount": "123", "reversalAmount": "12393423.00", "code39": "000", "RRN": "2034829434" } ] }, "theRequestSerialNumber": "00000000-0000-0000-0000-00000000002c" .. warning:: Если после Close Day API шлюзы остаются заблокированными (в теле ответа для «status»: «finished» у шлюза указано «isDayClosing»: true), используйте инструмент снятия блокировки в интерфейсе Платёжного Шлюза. Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^ | If during the Close Day procedure, Присоединяющаяся сторона sends a repeat запрос for Close Day with a new запрос ID, the Платёж Gateway will return a ответ with the статус ‘ошибка’ and a описание of the ошибка. It is pointless to reuse the identifier of this запрос to further initiate the closing of the day, since the ошибка статус is the final статус and the запрос identifier will always be associated with this запрос. | Если Присоединяющаяся сторона инициирует запрос с новым идентификатором запроса Endpoint, для которого Close Day уже был выполнен, и некоторые Шлюзы, связанные с Endpoint, закрылись с ошибкой (и находятся в закрытом состоянии), Платёжный Шлюз отправит ответ со статусом «error» и соответствующим описанием ошибки. .. 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 "response": { "status": "error", "errorCode": "99", "errorMessage": "gate is closing already" }, "theRequestSerialNumber": "00000000-0000-0000-0000-000000000020" .. warning:: Чтобы решить эту проблему, вручную выполните операцию Close Day в UI Платёжного Шлюза. Конструктор запросов ^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/examples/close_day_Api_Debug.html