Оплата и лояльность

Все формы запросов и объявленные ответы приведены в справочнике.

Онлайн-оплата

Перед предложением онлайн-оплаты прочитайте /api/payments/eskhata/preferences. Если enabled=false, способ недоступен. После создания заказа с онлайн-оплатой запросите /api/payments/eskhata/{order_id}/invoice и откройте полученную ссылку. Этот GET может создать платёжный счёт; он не является обычным чтением для фонового обхода или предварительной загрузки ссылок.

После возврата из платёжного интерфейса перечитайте заказ. Сам факт открытия ссылки или возвращения пользователя не доказывает оплату. При истёкшем или уже оплаченном счёте показывайте серверное сообщение. Не сохраняйте платёжные ссылки в аналитике.

Кошелёк и карты

Текущий базовый путь — /api/loaylty именно с таким написанием. Кошелёк читается через /wallet/; pending означает незавершённую синхронизацию, ready — готовность, error — ошибку последней синхронизации. Блокировку проверяйте по полям управления кошельком и картами, а не по тексту ошибки.

Для физической карты используйте /wallet/link-physical/preview/, затем после подтверждения пользователя /wallet/link-physical/. Для существующей карты предусмотрена отдельная пара /wallet/link/preview/ и /wallet/link/. Успешный preview со статусом NOT_ISSUED означает возможность выдачи физической карты. При конфликте принадлежности 409 не показывайте подтверждение привязки и не повторяйте запрос автоматически.

Предварительный расчёт бонусов

POST /api/loaylty/discounts/preview/ оценивает начисление для текущей корзины, магазина и карты. Повторяйте расчёт после изменения этих данных. Не вычисляйте начисление самостоятельно по проценту уровня; preview не начисляет реальные баллы.

Если preview временно недоступен, покажите недоступность бонусного расчёта. Предварительный расчёт не должен сам по себе блокировать оформление без него. Окончательные данные кошелька и заказа перечитывайте с сервера.


Версия: a0f83a6f89d582854b126a89a7623bb1d484a004 · TEST. Markdown