Задача
В BigCommerce сотрудник менял статус заказа, а платёжная система об этом не узнавала: деньги сами не удерживались, не списывались и не возвращались. Нужна была связка. У каждого магазина свой набор статусов, и нужно было, чтобы сотруднику не приходилось повторять то же действие руками в платёжной системе.
Моя роль
Систему заказал Eye4Fraud — сервис проверки заказов для интернет-магазинов, а делал подрядчик Orensoft. Код связки писал я; проектированием и серверами занимались коллеги из Orensoft. Разработка шла с сентября 2018 года, первая версия заработала в 2019-м, крупные доработки закончились летом 2021-го. Дальше до марта 2025 года я поддерживал систему без новой разработки: был на связи и правил окружение.
Что делала система
Сотрудник один раз задаёт, какой статус что делает с оплатой. Дальше система сама удерживает, списывает или возвращает деньги в шлюзе USAePay: проводит только недостающую сумму, в том числе при частичном возврате, и не списывает дважды. О заказе она узнаёт двумя путями: магазин присылает уведомление, а по расписанию система спрашивает сама. Если один путь останавливался, второй продолжал работу. Об успешном возврате и об ошибке шлюза продавцу и администраторам приходили отдельные письма.
Отдельно я написал проверку карты 3-D Secure: покупатель подтверждает платёж так же, как в своём банке.
Как это выдержало работу
Подключили около 100 магазинов, у каждого свои ключи, платёжная система и правила. Отдельные части иногда сбоили. После сбоя заказы запрашивали заново, иногда за другой период, и уже проведённую сумму система второй раз не проводила.
Почему работа прекратилась
Eye4Fraud отказался от программы в марте 2025 года. Причины были на рынке: у витрины появился свой возврат для части платёжных систем, шлюз USAePay сменил владельца, а другие сервисы проверки заказов начали сами списывать одобренное и отменять отклонённое.
Схема системы
На схеме уведомление из магазина и проверка по расписанию сходятся в ядре, где лежат заказы и правила. Проверка карты — отдельная программа, на общей схеме её нет.