Рассрочка считается вне заказа
Покупатель оформляет рассрочку на стороне провайдера, а заказ живёт своей жизнью: непонятно, оплачен он или ждёт решения.
Выберите тему — соберём контекст
Эквайринг, рассрочка и выплаты партнёрам из одного заказа
Тинькофф закрывает не только приём оплаты: здесь же живут рассрочка и выплаты партнёрам. Собираем эти три сценария в один контур заказа, чтобы тип платежа, комиссия и статус выплаты были видны в одном месте и корректно попадали в учёт.
Эквайринг обычно подключают быстро, а вот рассрочка и выплаты остаются за пределами системы. Именно там появляются расхождения с учётом.
Покупатель оформляет рассрочку на стороне провайдера, а заказ живёт своей жизнью: непонятно, оплачен он или ждёт решения.
Реестр собирают руками, реквизиты сверяют глазами, а повторная отправка рискует уйти партнёру дважды.
На счёт приходит сумма меньше, чем в заказах, и разбираться с разницей приходится бухгалтерии при закрытии периода.
Менеджер не понимает, отклонён платёж или просто задержался, и на какой стадии находится выплата партнёру.
Три потока данных, которые должны сходиться в одном заказе. Для каждого фиксируется источник правды и момент, когда операция считается завершённой.
Сумма по заказу, комиссия и выплата партнёру — связанные величины. Если хотя бы одна из них живёт в отдельной таблице, сверка перестаёт сходиться.
Рассрочка — это не «ещё одна кнопка оплаты», а другой тип обязательства. Он должен быть виден и покупателю, и учётной системе.
Блок рассрочки показывается на странице оформления вместе с картой и СБП: покупатель сравнивает условия, не уходя с сайта и не теряя корзину.
В заказе хранится, что оплата пришла по сценарию рассрочки, и на какой срок оформлено обязательство покупателя. Без этого поля учёт неизбежно посчитает выручку дважды.
Возврат товара создаётся из заказа, а корректировка обязательства перед провайдером сверяется со сторонами и попадает в журнал операций с указанием причины.
Выплаты партнёрам — операция с деньгами наружу, поэтому она строится так же строго, как приём оплаты: с проверкой полей, идентификаторами строк и разбором отказов.
Основание выплаты — расчёт по заказам: продажи, возвраты и удержанная комиссия. Строка реестра не вводится вручную, она собирается из данных.
Получатели и их реквизиты хранятся в справочнике, а строка перед отправкой проходит проверку обязательных полей — чтобы платёж не отклонялся на стороне провайдера.
У строки есть внешний идентификатор. Повторный запуск реестра после сбоя не создаёт вторую выплату — уже исполненные строки пропускаются.
Отклонённая выплата не блокирует остальные. Для неё видна причина, и строку можно перезапустить после исправления реквизитов.
Платёж, возврат и выплата проходят через внешнюю систему, которая может прислать одно и то же событие несколько раз. Обработка строится с расчётом на это.
Пока комиссия и выплаты не сверены, отчёт о продажах остаётся приблизительным. Сверка должна быть регулярной процедурой, а не разовым разбором.
Операции провайдера сравниваются с заказами и реестром выплат: сумма, комиссия, возвраты, статус. Расхождение видно в отчёте, а не при разборе жалобы.
Комиссии и выплаты сводятся к документам провайдера в одном формате, чтобы бухгалтерии не приходилось сопоставлять их вручную.
У каждого расхождения есть сумма, дата и ответственный. Оно не растворяется в общем списке операций и не переносится на следующий период.
Порядок работ строится от денежных потоков: сначала схема платежей и расчётов с партнёрами, затем код. Так расхождения с учётом обнаруживаются до запуска, а не при первой выплате.
Разбираем системы, сущности и потоки. Фиксируем, что считается источником правды и где сейчас расходятся данные.
Описываем поля, форматы, частоту и правила сопоставления справочников. Согласуем до начала разработки.
Проверяем обмен на реальных данных в ограниченном объёме: несколько десятков записей в обе стороны.
Включаем полный обмен с очередью, повторными попытками, журналом и защитой от дублей.
Мониторинг, сверка расхождений, обновление коннекторов при изменениях API на стороне сервиса.
Каждая операция наружу имеет идентификатор, статус и запись в журнале — её можно проверить, повторить или разобрать.
Повторная доставка одного и того же события не создаёт вторую сделку, второй заказ или второй платёж.
Если внешняя система недоступна, операция ждёт и повторяется по расписанию, а не теряется.
Видно, что и когда ушло, что вернулось и что не прошло. Неудачную операцию можно повторить вручную.
Учитываем ограничения по частоте запросов, чтобы не получить блокировку со стороны сервиса.
Регулярная сверка ключевых сущностей между системами: расхождение видно в отчёте, а не в конце квартала.
При остановке обмена приходит уведомление ответственным, а не выясняется из жалобы клиента.
Часто эти интеграции внедряются вместе — например, CRM и телефония, или магазин и маркетплейсы.
Оплата, возвраты и сверка без ручной работы
Интеграция с ЮKassa: приём платежей, возвраты, рекуррентные списания и автоматическая сверка с учётом.
ПодробнееПлатежи и подписки на одном шлюзе
Интеграция с CloudPayments: эквайринг, подписки, рекуррент и платёжные виджеты.
ПодробнееОдин платёжный слой — разные провайдеры
Платёжные интеграции под ключ: эквайринг, рекуррент, рассрочка, выплаты и сверка.
ПодробнееОбмен редко ограничивается одной категорией: магазин обычно связан и со складом, и с платежами, и с маркетплейсами.
Если вашего вопроса здесь нет — задайте его в форме ниже.
Расскажите, нужна ли рассрочка, как вы платите партнёрам и как сейчас сверяете комиссии. Предложим схему контура и оценим работы.
За 3 рабочих дня разберём: где вы теряете заявки, какие каналы недооценены, и что даст рост в первые 30 дней.
Без обязательств. С конкретными цифрами.
Cookie и аналитика
Мы используем необходимые cookie для работы сайта и форм. Аналитические cookie (Яндекс.Метрика, включая запись сессий) подключаем только с вашего согласия — от него можно отказаться. Подробнее: Политика использования cookie и обработка персональных данных.