Как работают rollbacks в casino API?
Зачем нужны rollbacks
Студии и агрегаторы должны отменить ставку или выигрыш, когда раунд аннулирован, стол упал посреди руки или обнаружен дублирующий event. Без ясного пути rollback балансы игроков и леджеры агентов расходятся — самый быстрый способ сжечь доверие финансов и поддержки.
Как проектировать под rollbacks
Считайте каждую мутацию кошелька идемпотентной. Ваши Seamless endpoints (или сессионный леджер Transfer) должны принимать rollback по id исходной транзакции / раунда и возвращать success, если реверс уже применён. Никогда не кредитуйте и не дебетуйте дважды из-за повтора колбэка.
Документируйте happy path и путь rollback там же, где команда хранит примеры Swagger и PDF-гайд интеграции.
Поведение Transfer vs Seamless
- Transfer: балансы в скоупе сессии делают часть voids проще сверкой как корректировки кошелька на краю игры, но reverses от студии всё равно нужно применять корректно.
- Seamless: rollbacks приходят как колбэки кошелька; ваш сервис должен отвечать быстро и стабильно из региона MegaNodes, который используете (kr / de / ca).
Детали обеих моделей: модели кошелька.
Операционная видимость
Используйте историю игр BackOffice — ставка, выигрыш, Bonus Call, timestamps — чтобы разбирать споры после шторма rollback. Активность RTP и Bonus Call в скоупе агента должна отделяться от органической игры. Карта функций: Features.
Чеклист тестирования
- Повторите один и тот же rollback дважды; убедитесь в единственном чистом эффекте.
- Аннулируйте после последовательностей частичного выигрыша.
- Подтвердите, что часовые пояса отчётов совпадают с финансовым календарём.
- Убедитесь, что демо-лимиты день/сессия никогда не маскируются под production-правила rollback.
Нужен walkthrough по вашему middleware: Contact. Коммерческий контекст: Pricing.