Если перевод в TON выглядит вернувшимся, проследите исходное сообщение до ошибки у получателя и найдите обратное сообщение. Не считайте автоматически, что вся сумма вернулась именно на просматриваемый вами баланс. Успешная операция кошелька отправителя может соседствовать с неуспешным последующим действием. Если отправляла площадка, возврат в её исходящий кошелёк ещё не подтверждает зачисление на ваш внутренний счёт.
Начните с цепочки событий, а не общего статуса
Откройте исходную запись через доверенный обозреватель и перейдите к trace. В документации TON это связанные причинно сообщения и операции, которые могут затрагивать несколько аккаунтов и блоков. Сначала кошелёк отправителя обрабатывает свою инструкцию, затем сообщение обрабатывается в другом месте. Зелёная отметка на первом этапе не устанавливает результат всех следующих. Поэтому найдите исходящее сообщение и откройте именно приём на стороне назначения.
Запишите ссылку на сообщение, источник, получателя и приложенную нативную сумму. Затем посмотрите результат обработки и возможное обратное движение. Обозреватель может временно показывать неполную цепочку, если индексатор ещё не получил связанные сведения. Различайте «возврат пока не найден» и установленное отсутствие возврата. Оба описания требуют аккуратной проверки, а не немедленной повторной отправки денег ради исправления картинки интерфейса. Итог нужно связать с фактическими событиями.
| Доказательство | Какой вопрос решает | Что остаётся проверить |
|---|---|---|
| Исходящее сообщение | Что и откуда отправили | Результат на стороне получателя |
| Операция назначения | Была ли ошибка обработки | Создалось ли обратное сообщение |
| Флаг bounced у возврата | Это протокольное обратное сообщение | Его адрес и сумму |
| Получатель обратного сообщения | Куда направлен возврат | Кто контролирует этот аккаунт |
| Обработка возврата и баланс | Что произошло у исходного отправителя | Внутреннее зачисление, если участвовала площадка |
Различайте bounce и bounced
В описании внутренних сообщений bounce относится к возможности возврата, а bounced — к сообщению, которое уже возвращается. Разрешённое поведение не доказывает, что обратная отправка состоялась. Условия связаны с ошибкой обработки и достаточностью оставшейся нативной стоимости. В актуальной справке также есть несколько форматов тела возврата. Проверять все случаи только по старому префиксу неправильно: нужен разбор признаков и связей сообщения.
Именно поэтому похожая входящая сумма сама по себе не завершает расследование. Сопоставьте обратное сообщение с конкретным исходным, а не с любым платежом того же дня. Если обозреватель показывает отдельные идентификаторы сообщений и операций, подписывайте их роли при сохранении. Случайная длинная строка без указания этапа может направить поддержку не к тому событию. Нужна проверяемая связь между отправкой, ошибкой и возвратом, а не просто два похожих движения.
Неактивный адрес — причина для проверки состояния
Адрес может соответствовать аккаунту, где контракт кошелька ещё не развёрнут. В справке о состояниях различаются nonexist, uninit и active. Что произойдёт с входящим сообщением, зависит от данных инициализации, стоимости и поведения обработки. Поэтому надпись Inactive в приложении не является полным объяснением. Проверьте конкретную операцию и состояние на момент её получения, а не делайте вывод только по сегодняшнему экрану аккаунта.
После вашей попытки владелец мог развернуть контракт. Текущее Active не доказывает успех прежнего сообщения. Изменение формы адреса на non-bounceable тоже нельзя считать универсальным исправлением любого вызова контракта. Сохраните точные инструкции сервиса-получателя и уточните условия для новой попытки. Ручная правка префикса способна скрыть исходную проблему, а не решить её. Сначала нужно понять причину уже наблюдаемого исхода и назначение адреса.
Возвращённая стоимость не обязана равняться исходной
Возврат сообщения не обещает полной компенсации всех затрат. В разборе фаз исполнения описаны обработка и пересылка с соответствующими расходами. Сопоставляйте значения сообщений и изменение аккаунта по реальным данным. Интерфейс может отдельно показывать исходное списание, приложенную стоимость и общий результат баланса. Эти числа нельзя автоматически считать одной величиной и объявлять любую разницу потерей, не прочитав связанные события и комиссии.
В учебной записи обозначим исходное сообщение M1, обратное — B1. Сохраните стоимость M1, стоимость B1, относящиеся к ним события исходного аккаунта и видимые расходы. Здесь намеренно нет выдуманной ставки или срока: величины берутся из вашей записи. Задача — объяснить разницу, а не предположить фиксированный процент возврата. Не пополняйте кошелёк произвольными суммами только ради совпадения главного экрана с ожидаемым результатом.
Отдельно установите актив. Нативная стоимость сообщения не равна автоматически количеству jetton. У токенного перевода возможны несколько контрактных взаимодействий, поэтому небольшое обратное нативное поступление ещё не доказывает возврат всех токенов. В различии нативной монеты и токена объяснён этот уровень учёта, а статья об USDT в TON даёт контекст токенного получения. Не переносите сверку простой нативной отправки на любой jetton без проверки движений.
Если отправлял сервис, разделите сеть и личный счёт
При выводе с кастодиальной площадки сообщение может исходить из её кошелька. Протокольный возврат направляется исходному отправителю, а не обязательно прямо на ваш личный баланс интерфейса. Найденная обратная операция полезна для обращения, но не подтверждает, когда площадка отразила её во внутреннем учёте. Сохраните номер вывода вместе с обеими сторонами цепочки и попросите сверить именно возвращённую стоимость. Возможность разбирательства зависит от контроля аккаунта и записей сервиса.
- Сохраните исходную отправку и откройте соответствующий trace TON.
- Дойдите по сообщению до назначения и прочитайте результат получения.
- Найдите настоящий возврат, различая флаги bounce и bounced.
- Проверьте адрес и стоимость обратного сообщения, затем свидетельства его обработки.
- Отделите нативную сумму от jetton и сопоставьте расходы.
- Если отправляла площадка, передайте связанные записи для внутренней сверки до нового вывода.
Перед следующим обменом без регистрации проверьте актуальную заявку: адрес, сеть, актив и обязательный комментарий, если он указан. Не меняйте префикс вручную и не предполагайте, что прежний заказ продолжает действовать после возврата. Итоговая заметка должна объяснять место ошибки, наличие обратного сообщения, направление стоимости и оставшийся вопрос к сервису. Это даёт основание для следующего действия без повторного платежа наугад.
Частые вопросы
TON bounceable означает, что деньги уже вернулись?
Нет, это относится к разрешённому поведению сообщения. Фактический возврат нужно установить по обратному сообщению и его обработке.
Что проверить при Tonkeeper transaction failed?
Проследите связанную цепочку сообщений до получателя и возможного возврата. Один статус кошелька не объясняет все этапы операции.
Какие данные из Tonkeeper transaction history нужны после возврата?
Сохраните исходную запись, ошибку у назначения и связанное обратное событие. Подпишите роли идентификаторов и проверьте, куда фактически направлена стоимость.