Чек-лист запуска
Пройдите этот список в песочнице, прежде чем запрашивать боевые ключи. Каждый пункт — то, на чём мы видим ошибки.
Запросы
Заголовок раздела «Запросы»- Каждый запрос подписывает ваш сервер, каждый раз с новым nonce, часы синхронизированы по NTP.
- Вы хешируете и отправляете одни и те же байты; для GET и POST с пустым телом хешируется пустая строка.
- Каждая команда несёт
Idempotency-Key, сохранённый вместе с заказом, и повтор использует его же (идемпотентность). -
merchant_order_idиmerchant_payout_id— ваши собственные уникальные id. - Таймауты и
503повторяются с тем же ключом;400,404,409и422— нет (ошибки). - На
429иpayment_busyвы ждётеRetry-After. - Суммы — строки с двумя знаками после точки:
"2500.00", никогда не float.
Платежи
Заголовок раздела «Платежи»- Вы отгружаете только при
succeeded— не приprocessingи не при возврате плательщика наreturn_url. - Незнакомые
customer_action.kindи значенияstageвас не ломают: отправьте плательщика наcheckout_url. - Host-to-host: вы показываете точную сумму, скрываете реквизиты в
expires_atи никогда их не кешируете. - Вы проверили
.00,.21и.13в песочнице, а также отмену.
Вебхуки
Заголовок раздела «Вебхуки»- Ваш эндпоинт — публичный HTTPS на 443 или 8443 и отвечает
2xxв течение 15 секунд. - Вы проверяете каждое событие библиотекой Standard Webhooks по сырому телу.
- Вы обрабатываете каждый
webhook-idодин раз и игнорируете более старую версию (порядок). - Ежедневное задание сверяет открытые заказы, читая их.
Выплаты и возвраты
Заголовок раздела «Выплаты и возвраты»- Вы проверяете
availableперед крупными выплатами и обрабатываетеinsufficient_available_balance. - Комиссия выплаты — сверху: игрок получает
amount. - После потерянного ответа вы находите выплату по
merchant_payout_id.
- Секреты лежат в хранилище секретов, один ключ на сервер (безопасность ключей).
- Ключи песочницы и боевые ключи — в разных окружениях.
- Вы знаете, как заменить ключ и сменить секрет вебхуков.
Запросите у вашего менеджера боевой доступ. Вы получите адрес боевого API и войдёте в боевую консоль, где
создадите боевые ключи (mka_…) и зададите боевой эндпоинт вебхуков — из песочницы ничего не переносится.
Проведите один небольшой настоящий платёж от начала до конца, прежде чем открывать доступ игрокам.