Ключи хранятся на вашем сервере.
Каждый запрос API мерчанта использует заголовок X-API-Key. Вашим клиентам этот ключ не нужен.
Аутентификация запроса
Ограничение частоты: 120 запросов / 60 секунд (общие чтения · на мерчанта). Общие счётчики и дополнительные лимиты по IP.
curl https://api.dedyx.com/api/v1/merchant/limits \
-H 'X-API-Key: YOUR_API_KEY'Передавайте X-API-Key на защищённых методах. Bearer-аутентификация не используется. Публичный токен платежа — отдельный доступ к минимальному статусу одного платежа.
Безопасное хранение данных доступа
Используйте переменные окружения сервера или хранилище секретов. Не помещайте данные доступа в JavaScript страницы оплаты, параметры URL, скриншоты и логи приложения.
import os
import requests
response = requests.post(
"https://api.dedyx.com/api/v1/payments",
headers={
"X-API-Key": os.environ["DEDYX_API_KEY"],
"Idempotency-Key": "order-1024",
},
json={
"amount": "49.00",
"merchant_wallet": "TRzsBvFUhcvsy45ebmaKZ9EXw7zUorVkUm",
"description": "Order #1024",
},
timeout=15,
)
response.raise_for_status()
payment = response.json()До этого запроса настройте обязательный вебхук. Явно обрабатывайте HTTP-ошибки. При неопределённом результате создания повторите запрос с исходным ключом идемпотентности.
Ротация API-ключа
Ограничение частоты: 5 запросов / 60 секунд (ротация API-ключа · на секрет ротации). Общие счётчики и дополнительные лимиты по IP.
curl -X POST https://api.dedyx.com/api/v1/merchant/rotate-key \
-H 'secret-key: YOUR_ROTATION_SECRET'Ответ возвращает new_api_key. Предыдущий API-ключ перестаёт работать. Секрет ротации, API-ключ и ключ подписи вебхука независимы. Если секрет ротации утрачен или скомпрометирован, обратитесь в поддержку без передачи секретов. После проверки владельца поддержка может заменить оба секрета API, сохранив аккаунт и историю. Порядок ротации и восстановления.
Квота создания и ограничения частоты
Ограничение частоты: 120 запросов / 60 секунд (общие чтения · на мерчанта). Общие счётчики и дополнительные лимиты по IP.
{"merchant_id":"mer_example","access_type":"beta","total_limit":100,"requests_used":3,"requests_left":97,"daily_limit":10,"daily_used":3,"daily_left":7,"creation_allowed":true,"creation_block_reason":null}Стандартная бета действует 30 дней с явной активации после подтверждения получения данных доступа: 100 успешно созданных новых платежей всего и не более 10 за сутки UTC. Индивидуальные условия могут отличаться. Limits возвращает access_type, status, creation_enabled, creation_allowed, creation_block_reason, beta_duration_days, beta_started_at, beta_expires_at, total_limit, requests_used, requests_left, lifetime_requests_used, daily_limit, daily_used, daily_left, daily_reset_at, server_time и last_api_request_at. Даты в UTC; до активации даты беты равны null. Старые аккаунты сохраняют прежний общий лимит без срока беты и суточного ограничения, пока условия явно не изменены. Общая использованная и оставшаяся квота беты относится к её пакету; история за всё время сохраняется. При переходе на бету предыдущие платежи текущих суток UTC остаются в суточном счётчике. Повторы, чтения и доставка вебхуков не расходуют квоту создания. Автоматического ежемесячного сброса нет. Продление срока не сбрасывает использование и не добавляет квоту. Исчерпание, истечение и пауза блокируют только новые платежи: существующие проверки, защищённые чтения, отмена, ротация ключей и вебхуки продолжаются при активном аккаунте. Суточная квота сбрасывается в 00:00 UTC; общая квота и срок меняются через поддержку. Limits никогда не возвращает данные доступа.
Ссылки на оплату — приватные ссылки
Последний сегмент payment_url — публичный токен конкретного платежа. Передавайте ссылку только нужному клиенту. Она показывает сумму, получателя, описание, статус и срок; не позволяет создавать заказы, менять настройки и получать доступ к аккаунту.
Не помещайте персональные данные и секреты в description. Пересылка ссылки не устанавливает личность плательщика; отмена платежа не закрывает видимость ссылки и не возвращает средства. Конфиденциальность ссылки на платёж.