Аудит и схема обмена
Разбираем, какие данные о «Платёжные системы» уже ведутся и что умеет API «Wildberries»: методы, лимиты, тестовый контур.
- Карта сущностей и владельцев данных
- Ограничения API и частота запросов
- Согласование правил конфликтов
Выберите тему — соберём контекст
Как связать Платёжные системы и Wildberries в интернет-магазине: какие данные ходят между системами, где типовые ошибки и что определяет стоимость работ.
Состав работ по интеграции «Платёжные системы» с системой «Wildberries». Набор уточняется после обследования API и данных.
Разбираем, какие данные о «Платёжные системы» уже ведутся и что умеет API «Wildberries»: методы, лимиты, тестовый контур.
Реализация передачи данных в обе стороны с идемпотентностью, ограничителем частоты и журналом операций.
Проверяем, как интеграция влияет на чеки по 54-ФЗ, коды маркировки, счета и УПД: где формируется документ и в какой момент.
Прогон нештатных сценариев, суточная сверка и оповещение об ошибках, документация по обмену для поддержки.
От обследования до продуктивного обмена с мониторингом ошибок.
Проверяем доступные методы, лимиты, тестовый контур и то, какие данные уже ведутся на обеих сторонах. Фиксируем владельца каждой сущности.
Описываем сущности, направления, частоту и правила конфликтов. Согласуем, что делать при недоступности внешней системы.
Пишем обмен с очередями, повторными попытками и журналом, проверяем нештатные сценарии на тестовых данных.
Выводим обмен в продуктив, включаем суточную сверку и оповещения об ошибках, передаём документацию по обмену.
Платёжный контур: приём оплаты картой, через СБП, кошельки, рассрочку и оплату частями, а также возвраты и частичные отмены. Для юридических лиц добавляется оплата по счёту с ручной или автоматической сверкой.
Типовые системы на этом конце: ЮKassa, Тинькофф Касса, Сбербанк, CloudPayments, Robokassa, СБП; Stripe — только для зарубежных юридических лиц.
Wildberries — крупнейший маркетплейс: продажи со склада площадки (FBO) и со склада продавца (FBS), а также реклама, акции и отчёты по комиссиям.
Как с ней работать технически: Marketplace API: контент и карточки, цены и скидки, остатки, поставки FBO, сборочные задания FBS, статистика продаж и отчёты о реализации.
В платёжную систему уходят сумма, состав заказа, данные для чека и адрес доставки; обратно приходят статус платежа, идентификатор транзакции, результат холдирования и уведомления о возврате.
Мы всегда описываем обмен в виде таблицы «сущность — направление — частота — владелец данных». Без этого документа интеграция работает до первой нештатной ситуации, после чего расхождения ищут вручную.
«Платёжные системы» и «Wildberries» отвечают за разные участки процесса, поэтому прямой коннектор между ними нужен не всегда — чаще они сходятся в одной из систем контура. Маркетплейс — отдельный канал со своими правилами, лимитами API и отчётностью. Синхронизацию ведём через очередь с ограничителем частоты запросов, остатки распределяем по каналам, а финансовые отчёты площадки регулярно сверяем с учётной системой.
Реализация зависит от того, есть ли у системы открытый API и какие у него лимиты. Если API нет или он ограничен, обмен строим через промежуточный слой: очередь, промежуточную базу или файловый обмен по расписанию с журналом обработки.
Самое частое — расхождение статусов и повторные вебхуки: уведомление может прийти дважды или с задержкой. Поэтому обработка должна быть идемпотентной, а сверка с выпиской — ежедневной. Карточные данные не должны проходить через ваш сервер: это требование PCI DSS, которое закрывается платёжной формой провайдера.
Мы закладываем в интеграцию ограничитель частоты запросов, повторные попытки с нарастающей паузой, журнал операций и оповещение при ошибках. Это дешевле, чем разбирать последствия сбоя в высокий сезон.
Жёсткие лимиты на частоту запросов и частые изменения методов: интеграцию нужно писать с ограничителем, очередью и обработкой ошибок 429. Обязательны корректные штрихкоды и соблюдение правил упаковки, иначе поставку не примут.
Часть ограничений обходится архитектурой (кэш, очередь, разделение каналов обмена), часть — нет: тогда мы предлагаем изменить процесс, а не имитировать его в коде.
На стоимость влияют: наличие и качество API, количество сущностей в обмене, требования к истории (загружать ли прошлые заказы), необходимость синхронизации в реальном времени, требования к маркировке и чекам, а также готовность данных на обеих сторонах.
Сроки обычно определяет не разработка, а согласования: доступы к системе, тестовый контур, договор с провайдером, правила расчёта и требования бухгалтерии. Мы выносим эти пункты в чек-лист подготовки, чтобы они не останавливали работы в середине проекта.
Первый шаг — обследование: смотрим, какие данные уже ведутся, кто владелец каждой сущности и какие ограничения есть у API. Затем делаем прототип обмена на тестовом контуре, проверяем нештатные сценарии (повтор, отмена, частичное выполнение) и только после этого выводим интеграцию в продуктив.
После запуска передаём документацию по обмену и журнал операций, чтобы поддержку можно было передать другой команде без обратного проектирования кода.
Готовые коннекторы закрывают типовой сценарий, но почти всегда требуют доработки под ваши правила: момент расчёта и чеки, распределение остатков по каналам, частичные отгрузки и возвраты. Мы сначала проверяем, что умеет готовое решение, и предлагаем его, если оно дешевле собственной разработки.
Обмен строится так, чтобы недоступность внешней системы не останавливала продажи: события складываются в очередь, повторяются с нарастающей паузой и обрабатываются после восстановления. Покупатель при этом видит корректный статус заказа, а не ошибку.
На тестовом контуре прогоняем нештатные сценарии: повторная передача, отмена, частичная отгрузка, возврат, расхождение цен. После запуска включаем сверку раз в сутки и оповещение об ошибках, чтобы расхождения находились до того, как их заметит клиент или бухгалтерия.
Простой обмен по одному направлению с готовым API занимает от одной до трёх недель. Двусторонняя синхронизация с историей, маркировкой и несколькими каналами продаж — от полутора месяцев, потому что включает проектирование, тестовый контур и приёмку на реальных данных.
Пришлите описание систем и текущего обмена — предложим схему и оценим работы.
Cookie и аналитика
Мы используем необходимые cookie для работы сайта и форм. Аналитические cookie (Яндекс.Метрика, включая запись сессий) подключаем только с вашего согласия — от него можно отказаться. Подробнее: Политика использования cookie и обработка персональных данных.