На данный момент уже реализованы:
Получение токена авторизации у А-Банка по логину и секретному ключу (/auth/get-token)
Создание инвойса (ссылки на оплату) через метод /make-invoice, с передачей суммы, описания, идентификатора заказа и callback-адресов
Возврат пользователю ссылки invoice_url, на которую можно сразу отправлять клиента для оплаты
Приём webhook от А-Банка на адрес /payments/callback — сервер получает результат платежа (статус, сумму, идентификатор транзакции и т.д.)
Вывод webhook-запросов в консоль для отладки и подтверждения успешных оплат
Страница возврата /payments/return, куда возвращается пользователь после оплаты
Готовая конфигурация .env с тестовыми ключами, которые уже работают (Настроена структура проекта Node.js (Express, dotenv, uuid, node-fetch) — не нужно ставить или настраивать ничего вручную
что нужно сделать
Вставить этот код на свой сервер (или адаптировать под используемый ими бэкенд)
Привязать создание инвойсов к заказам сайта (передавать amount, orderId, description)
Обрабатывать webhook от /payments/callback: по статусу paid отмечать заказ как оплачен
Заменить тестовые ключи в .env на боевые (HOST, LOGIN, SECRET_KEY, COMM_UUID)
Заменить временные callback-адреса (ngrok) на боевые адреса сайта
Инструкция по запуску на тестовом сервере в файле readme в корне каталога
Тестовый рабочий код
https://drive.google.com/file/d/1NP0OiMOW-b47RKwFWf5FqZUdrCv5Ynkp/view?usp=sharing
Основной фреймворк Next.js (React)
Язык TypeScript
Сервер Node.js
Деплой PM2 + Shell Script (deploy.sh)
Сборка npm run build
Архитектура Feature-Sliced Design (FSD)