IOSOR База знаний

Строка debit и статус доставки в одном ledger

Свяжите каждое prepaid-списание с DLR или исходом канала в одном ledger кошелька, чтобы финансы не считали sent бесплатным и не списывали silent write-off при fail.

Бейдж sent — не бесплатный обед. На prepaid каждый billable unit оставляет строку debit, которую финансы стыкуют с outcome — delivered, failed, undelivered, accepted, connected или needs attention — без догадок по скриншотам. Когда деньги и доставка в разных силосах, закрытие месяца выдумывает «бесплатные отправки» и тихие списания.

IOSOR — white-label prepaid: один кошелёк на messaging, verification, email, voice и JIT-номера. USD 20 финансирует пилот честности ledger; soft review около USD 1 000/мес усиливает шум рассинхрона. Узкие соседи: учёт сегментов SMS — математика сегментов; политика retry при failed DLR на prepaid — когда повторять.

Sent — не бесплатная денежная истина

«Принято сетью» — продуктовое событие, не подарок балансу. Если unit зарезервирован и settled, ledger показывает сумму, валюту, канал и intent ID. Если unit не стал billable — нет settled debit либо есть release/refund. Считать sent бесплатным при движении денег — ложь; считать failed бесплатным при оставшемся debit — ложь наоборот.

Одной строке нужны поля debit + outcome

Одна стыкуемая строка на billable intent:

Лаг DLR и статуса без двойного списания

Исходы приходят поздно. Pending после settle нормален; второй charge по тому же ключу — нет. Settle unit один раз под hold, обновляйте outcome на месте, не открывайте параллельный debit из-за смены DLR. Retry-шторм с тем же ключом: одно денежное движение, много смен статуса.

Исходы каналов не взаимозаменяемы

Messaging DLR ≠ email accept ≠ verify success ≠ voice connect. Копировать «Delivered» на все каналы скрывает burn и ломает caps. Словари outcome по каналам при общих денежных колонках. Деталь сегментов — в SMS-статье; wallet export — charged unit и канальный outcome.

Чеклист покупателя по честности ledger

  1. Финансы стыкуют каждый settled debit с outcome без ops?
  2. Поздний DLR обновляет ту же строку, а не второй debit?
  3. Retry под одним idempotency key money-safe?
  4. Fail-path делает release/refund, когда unit не был owed?
  5. Клиентские статусы без имён upstream-брендов?
  6. Расход ограничен через контроль prepaid-расходов до всплеска?

Начните с IOSOR

Возьмите одну SMS-единицу. Hold, зафиксируйте предоплаченное списание, затем потребуйте конечный DLR на той же строке ledger. Выгрузите одну линию: сумма списания, статус DLR, метки. Списание без DLR — или DLR без списания — остаётся инцидентом. Это деньги против квитанции на одной строке, не гигиена CRM и не передача алерта.

Итог IOSOR

Одна строка ledger держит списание и DLR, иначе финансы не закроют отправку.

Делайте: склейте списание с конечным DLR на той же строке и держите непарные строки открытыми.

Не делайте: считать sent закрытым или закрывать месяц из чата, пока строкам нет квитанции.

Был ли материал полезен?

Связанные гайды