Есть ли тестовый баланс или sandbox?
В текущем публичном контракте отдельной песочницы нет. Playground работает с реальным аккаунтом. GET читает данные; покупка и отмена меняют реальные заказы.
Можно ли получать SMS через webhook?
Нет, в v1 webhook-метода нет. Используйте GET /orders/{id} с опросом не чаще раза в 5 секунд.
Почему валюта API не совпадает с кабинетом?
API всегда использует RUB. Выбор валюты в кабинете относится только к отображению и не меняет price, maxPrice или balance.
Можно ли получить несколько активных ключей?
На аккаунт доступен один активный ключ. Все ваши серверы используют общий бюджет запросов; перевыпуск сразу делает старый ключ недействительным.
Нужно ли отменять заказ после получения кода?
Нет. Отмена предназначена для поддерживаемых waiting-заказов без SMS. При конечном статусе остановите опрос и сохраните результат.
Гарантированы ли цена и наличие из /prices?
Нет. Это текущий снимок. Сервер проверяет условия заново при покупке, а maxPrice ограничивает разрешённое списание.
Можно ли выбирать язык сообщений об ошибках?
Переключатель RU / EN меняет документацию, не ответы сервера. Публичный контракт не определяет заголовок локализации. Используйте HTTP-статус и code для своей локализации интерфейса.