SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Веб-разработка

API Яндекс.Деньги: отделите кошелёк от приёма платежей

Название «API Яндекс.Деньги» в старых статьях может смешивать операции электронного кошелька и интернет-эквайринг. Для новой интеграции сначала определите сервис и договор: API кошелька и API ЮKassa — разные интерфейсы с разной авторизацией.

Приём платежа через ЮKassa

  1. Используйте актуальную документацию и тестовый магазин. Не копируйте старый endpoint или токен из статьи.
  2. Создавайте платёж на сервере с уникальным ключом идемпотентности. Сумму и состав заказа берите из доверенной серверной модели.
  3. Если требуется подтверждение покупателя, направляйте его в предусмотренный платёжный сценарий.
  4. Проверяйте фактический статус платежа через API/обработку уведомлений, прежде чем выдавать заказ.

Состояния важнее страницы успеха

Возврат пользователя на return URL не доказывает оплату. Различайте pending, waiting_for_capture, succeeded и canceled; нужные переходы зависят от выбранного способа подтверждения и режима capture. Повтор уведомления не должен повторно выдавать товар.

Что проверить в тестовой среде

  • Успех, отмену, таймаут и повтор того же запроса.
  • Несоответствие суммы и заказа, дублирующие уведомления.
  • Хранение секретного ключа только на сервере и отсутствие его в логах.
  • Повторное получение статуса при сомнительном результате.

Список способов оплаты, доступность сервиса и договорные требования проверяются у провайдера. Этот материал объясняет структуру интеграции и не обещает универсальных способов оплаты или гарантий защиты данных.

Документация