Разработка модуля на Opencart

Цена договорная
20 июня 2019, 10:10 • 3 отклика • 26 просмотров
Нужен модуль для Opencart со следующим функционалом.
Есть некоторые товары для которых должна быть следующая логика:
При заказе этих товаров и при оплате заказа банковской картой и статусе заказа "В обработке" должен отправляться запрос на сторонний сервис.
При получении ответа (корректного) отправлять письмо на емейл покупателя с номером из полученного ответа.

Пример 1.
Товар "ESET NOD32 Internet Security".
Если он находится в корзине и товар оплачен банковской картой должен быть отправлен запрос на сторонний сервер для получения ключей.
пример запроса на сторонний сервис.
/v1/order/ POST
array("product_id" => "123456", "count" => 1, "type"=>"eset")

В ответе будут те самые ключи которые надо отправить на емейл покупателя.
После отправки письма перевести статус заказа в "Доставлен"

Пример 2.
Товар "Microsoft Office 365 для дома".
Если он находится в корзине и товар оплачен банковской картой должен быть отправлен запрос на сторонний сервер для получения ключей.
пример запроса на сторонний сервис.
/v1/order/ POST
array("product_id" => "1234567", "count" => 1, "type"=>"microsoft", "email"=>"test @ test.ru")
поле email – email покупателя
В ответе будет только статус о выполнении операции. Письмо слать не нужно.
Если в ответе "OK" перевести статус заказа в "Доставлен"

Пример 3.
Если в корзине находится 2 товара ("ESET NOD32 Internet Security" и какой то другой (простой товар для которого не надо слать запрос), например, "Ноутбук Huawei MateBook X Pro MACH-W19").
логика как в примере 1. Только статус заказа при положительном ответе нужно перевести в "Доставлен частично"

Общие
Добавить статус заказа "Доставлен частично"
В карточке товара должны быть дополнительные поля
1. Уникальный код товара для обмена со сторонним апи (текстовое поле)
2. Тип товара (Выпадающий список. значения Eset, Microsoft)

После перевода статуса заказа в "Доставлен" или "Доставлен частично" поставить запрет на изменение статуса обратно в "В обработке" (даже для админа).
чтобы повторно не слались запросы на сторонний апи

Поля которые отсылаются на сторонний апи
product_id – Уникальный код товара из карточки товара
count – количество товара в корзине
type – eset или microsoft в зависимости от поля в карточке товара

Opencart 2.3 плюс чтобы можно было установить на Opencart 3
Сделать надо максимально универсально. для возможного переноса на другие сайты.
сервис на который должны слаться запросы самописный. описания по нему нет, но сложности быть не должно. всё относительно стандартно как с другими апи (вот описание по апи которое используется для других целей, но запросы будут похожи b2b tradeicsbel by / docs / ). в нашей задаче нужен будет запрос авторизации и создания резерва.