Деньги и события идут слева направо. Каждый следующий узел должен «отражать» предыдущий. Верхний источник истины — отчёт билинг-провайдера; первая сверка делается уже на процессинге (билинг ↔ процессинг).
Верхнее звено. Присылает на процессинг отчёт по проведённым транзакциям.
Сверяется с билинг-провайдером (первая сверка) и проводит платежи на сервис.
Зачисляет пополнения на баланс пользователя, шлёт постбэки в партнёрку.
Принимает постбэки, атрибутирует конверсии, начисляет выплаты партнёрам.
На каждом стыке сверяем и количество, и сумму. Идеальное расхождение — ноль.
Отчёт вышестоящего билинг-провайдера должен совпадать с успешными транзакциями нашего процессинга.
Каждое успешное списание в процессинге должно превратиться в успешное пополнение депозита на сервисе.
Каждый квалифицирующий депозит на сервисе должен уйти постбэком в партнёрку и стать конверсией.
Сумма начислений партнёрам должна ровно соответствовать сумме подтверждённых (не в холде) конверсий.
transaction_id.order_id (или transaction_id) + client_id.Собран из реальных инцидентов. Тип показывает, где именно «рвётся» цепочка.
| Симптом | Причина | Где | Что делать |
|---|---|---|---|
| Депозит есть на сервисе, но выплата партнёру = 0 | Постбэк пришёл без поля amount → сумма депозита не записалась → порог/ставка не сработали |
Точка В | Попросить сервис всегда слать amount; по прошедшим — пересчитать выплаты по факту |
| Депозит/рега не долетели, постбэк отклонён 422 | Неизвестный промокод в постбэке (заведён на стороне сервиса, не в партнёрке) | Точка В | Атрибутировать по ссылке (если есть) либо завести промокод в партнёрке |
| Постбэк отклонён «invalid link» | Ссылка удалена (soft-delete), а трафик по ней ещё идёт | Точка В | Восстановить ссылку или остановить трафик; обработать зависший постбэк |
| Постбэк отклонён «Unknown goal» | Цель оффера не заведена или задвоена; трафик пошёл раньше настройки | Точка В | Завести/почистить цели ДО запуска трафика; переобработать пропущенные события |
| Одна транзакция посчитана дважды | Дубль постбэка (ретрай сервиса без дедупа по order_id) |
Точка Г | Дедуп по order_id; снять лишнюю конверсию/начисление |
| Конверсия есть, а выплаты на балансе нет | Холд ещё не снят или пакетный аппрув в обход обработки холдов | Точка Г | Дождаться снятия холда; начислять баланс только через штатный процесс |
| Курсовое/валютное расхождение сумм | Разные валюты/курсы на сервисе и в партнёрке | Точка Б/В | Зафиксировать курс периода, сверять в единой валюте |
Сверяет точку А: отчёт вышестоящего билинг-провайдера ↔ свои успешные транзакции. Первое звено сверки в цепочке.
Сверяет точку Б: свои депозиты ↔ успешные списания процессинга. Гарантирует корректность постбэков (полный набор полей, amount, order_id).
Сверяет точки В и Г: постбэки ↔ депозиты сервиса, выплаты ↔ конверсии. Ведёт реестр расхождений и корректировок.
Настраивает офферы/цели/ссылки ДО запуска трафика. Разбирает расхождения по партнёрам, согласует доначисления.
Подтверждает итог сверки перед выплатой. Эскалация при расхождении по деньгам > порога.