Тестирование
Тестовая среда и контрольный список перед боевым включением
Тестовый мерчант
Для интеграции выдаётся отдельный JWT‑токен, привязанный к тестовому мерчанту. Особенности:
- базовый URL совпадает с боевым:
https://api.menu.casino; - операции маршрутизируются на внутренний тестовый провайдер (
provider_mockup); - реальные денежные переводы не выполняются;
- финальный статус операции устанавливается административным действием.
Получение тестового токена выполняется через ответственного менеджера.
Поведение тестового провайдера
При создании операции возвращается структура paymentDetailsData с фиктивными реквизитами. Операция сохраняется в статусе created до момента административной установки финального статуса. Эндпойнт принудительной смены статуса не предусмотрен в публичном API; смена выполняется со стороны платформы.
Проверки, не требующие тестового токена
До получения тестового токена выполняются следующие проверки:
- корректность формирования HTTP‑запросов (заголовки, метод, путь, тело);
- корректность сериализации десятичных сумм (точка как разделитель, отсутствие научной нотации, до четырёх знаков после разделителя);
- корректность ответа webhook‑эндпойнта мерчанта на тестовый HTTP POST с произвольным телом.
Контрольный список перед боевым включением
- JWT‑токен размещён в защищённом хранилище секретов; в системе контроля версий, клиентских приложениях и фронтенд‑коде отсутствует;
- webhook‑эндпойнт мерчанта возвращает
2xxза время не более 5 секунд; в случае длительной обработки2xxвозвращается до начала фоновой обработки; - реализована дедупликация webhook‑событий по полю
id(UUID операции); - значение
idTransactionMerchantсоответствует требованиям раздела Идемпотентность; - обработан ответ с
codeError: "duplicateIdentifier"— выполняется получение существующей операции, новая операция не создаётся; - при статусе операции Pay Out
pending_retryповторная отправка с другимidTransactionMerchantне выполняется; - финальный статус операции подтверждается запросом
GET /operation/operation/platform/{id}до принятия бизнес‑решения; - поля
clientID,clientIP,clientDateCreatedзаполняются фактическими значениями конечного клиента; - в учётной системе мерчанта разделены значения
amount(валюта платежа) иamountInCurrencyBalance(валюта баланса); - для всех неуспешных операций сохраняется значение
traceID.
Служебные эндпойнты
Эндпойнт GET /operation/operation/platform/payin/{idPlatform} помечен IgnoreApi и предназначен для отладки на стороне платформы. Для мерчантов прикладного значения не имеет; функционально эквивалентен GET /operation/operation/platform/{idPlatform} для операций типа payIn.