Разработка платежного модуля для ocStore 3
Требуется создать полноценный модуль оплаты для интеграции с современным платежным шлюзом в интернет-магазине на базе ocStore 3.0.3.7 (OpenCart 3).
Основные задачи
- Изучение предоставленной документации API платежного шлюза (все endpoint, примеры запросов и ответов)
- Получение и настройка тестовых и рабочих доступов (merchant credentials)
Технические требования к модулю
Работа с API шлюза
- Реализация получения Bearer Token через endpoint /oauth2/token с системой кеширования и автоматического обновления
- Создание платежной сессии через POST /v1/payments с корректной передачей суммы в национальной валюте (AZN)
- Обязательное использование X-Idempotency-Key для идемпотентности запросов
- Сохранение paymentId из ответа шлюза в заказе магазина
- Организация редиректа клиента на страницу оплаты и возврата на сайт через returnUrl
- Реализация проверки статуса платежа через GET /v1/payments/{id} и корректное обновление статуса заказа в ocStore
- Настройка маппинга статусов: pending (ожидание), success (оплачено), canceled (отменено), failed (ошибка)
- Реализация отмены платежа через API с предварительной проверкой допустимого статуса для отмены
- Организация системы возвратов (refunds) через POST /v1/refunds и проверка статуса возврата
Безопасность и логирование
- Реализация безопасного логирования всех запросов и ответов API в system/storage/logs
- Исключение из логов секретных данных (токены, ключи, персональная информация)
Административная часть
- Создание страницы настройки модуля в админ-панели ocStore
- Настройки должны включать: режим работы (test/prod), client_id, client_secret, scope, merchantId, terminalId
- Настройка соответствия статусов заказов между платежным шлюзом и ocStore
Результат работы
- Полностью рабочий модуль оплаты для ocStore 3 в виде архива установки
- Подробная инструкция по установке и настройке модуля
- Демонстрация успешного тестового платежа с подтверждением работы всех функций