IOSOR База знань

Збій prepaid-hold: auto-refund і чесний статус

Невдалий prepaid-hold — подія гаманця: автоматичний release або refund, експортовані статуси й заборона Activated/Delivered без реального результату.

Prepaid hold, який не може завершитися, має лишити гроші й статус, які фінанси захистять: release в available balance, явний refund settled суми або іменований freeze до доказів. Успіх при завислих коштах руйнує довіру до ledger.

IOSOR — white-label prepaid. Те саме правило для messaging, verification, email, voice і JIT-номерів на одному гаманці. USD 20 — підлога пілота, не доказ fail-path. Review біля USD 1 000/міс лише робить рядки збоїв помітнішими.

Збій — подія гаманця, не toast

Спінер і банер «pending» — не грошова істина. Після відмови гаманець вивільнив hold, повернув debit або заморозив intent із причиною для експорту. Успіх за відкритого резерву — брехня ledger. Щасливий шлях — prepaid-резерв до першого списання; ця стаття — шлях відмови.

Результат Рух коштів Читаний статус
Reject до роботи Hold немає або миттєвий release Rejected — без debit
Збій під час hold Повне повернення резерву Failed — кошти повернуто
Timeout без completion Release за політикою expiry Timed out — кошти повернуто
Треба розвернути settled Явний refund Refunded — зв’язок із вихідним intent
Неясний mid-flight Freeze retry; без другого debit Needs attention — розслідування

Auto-refund і release мають бути автоматичними

«Ops потім виправить» — не продукт. Release і refund запускаються тими самими правилами, що створили резерв. Дублі з тим самим idempotency key перевикористовують початковий грошовий результат — див. ідемпотентність, retry і гроші. Частковий batch списує завершені units і повертає залишок в одному експорті.

Release відновлює незакритий резерв; refund розвертає settled debit. Клієнту потрібні час, причина та business intent ID. Тихі правки балансу без рядка ledger заборонені. Swap після збою номера: збій замовлення DID повернення і заміна; ця стаття — грошова правда всіх каналів.

Статуси, які фінанси експортують

Короткий CSV-словник: funds held; completed / settled; released; refunded; needs attention; cancelled.

Не вигадуйте «Activated», «Delivered» чи «Live» без ресурсу чи billable unit. «Needs attention» — черга, не успіх. Статус без суми, валюти й correlation ID — театр.

Заборона фейкового Activated або Delivered

Хибний бейдж б’є сильніше за порожній пошук. Messaging-збій ≠ delivered; verify без сесії ≠ verified; JIT без assign ≠ Activated. Low balance і over-cap відхиляють до hold — зупинка при низькому балансі — щоб гроші не потрапляли в тупиковий резерв.

Чекліст покупця щодо fail-honesty

  1. Кожен failed hold закінчується release, refund або needs-attention із власником?
  2. Release і refund автоматичні від продуктових подій, а не з чату?
  3. Фінанси стикують fail-рядки з intent ID без підтримки?
  4. Retry з тим самим ключем рухає гроші максимум один раз?
  5. Клієнтські помилки brand-safe і без імен upstream?
  6. Stop-lines блокують нові hold за низького available? Див. фінансові межі гаманця перед production-трафіком.

Перевірте шлях в IOSOR

Спровокуйте prepaid-hold, який не може завершитися: стеля, відмова чи нестача. Доведіть повернення в available або явний рядок refund. Вивантажте fail-статус, який захистять фінанси. Повторіть той самий ключ без другого руху. Це правда збою hold, не зняття після мертвого assign.

Related: контроль prepaid-витрат

Підсумок IOSOR

Збійний hold — подія гаманця, не театр успіху.

Робіть: авто-release або refund і іменований статус. Не робіть: вигадувати Activated або Delivered.

Чи був матеріал корисним?

Пов’язані гіди