Оформление криптоплатежа надёжно только тогда, когда серверная часть мерчанта понимает статус платежа. Клиент может заплатить точную сумму, недоплатить, переплатить, перевести средства после истечения срока или вызвать проверку рисков.
Для мерчантов эти статусы — не декоративные метки. От них зависит, следует ли выполнить заказ, приостановить его, зачислить средства, вернуть платёж или передать случай на рассмотрение службе поддержки.
Почему статусы инвойсов важны
С точки зрения сети блокчейн-платежи окончательны, но заказы мерчанта всё равно требуют бизнес-логики. Система оформления покупки должна сопоставить транзакцию с заказом и определить следующее действие.
Статус платежа даёт серверной части стабильное правило и избавляет операторов от необходимости вручную проверять каждую транзакцию.
Оплаченные инвойсы
Статус инвойса «оплачено» означает, что клиент отправил ожидаемый платёж, и мерчант может продолжить выполнение заказа в соответствии со своей политикой. Для цифровых продуктов это может открыть доступ к контенту. В интернет-магазине заказ может перейти в обработку.
Используйте вебхуки, чтобы заказ обновлялся автоматически, когда инвойс получает статус «оплачено».
Недоплаченные инвойсы
Статус инвойса «недоплачено» означает, что полученная сумма меньше ожидаемой. Причиной могут стать комиссии кошелька, путаница с обменным курсом, ошибка при ручном вводе или неправильное понимание со стороны клиента.
Мерчантам следует заранее решить, просить ли доплату, допускать небольшое отклонение, оставлять заказ в ожидании или отменять его. Правильная политика зависит от маржинальности продукта и ожидаемого уровня поддержки.
Переплаченные инвойсы
Статус инвойса «переплачено» означает, что клиент отправил больше, чем требовалось. Это может быть безобидно, но мерчанту всё равно нужен чёткий порядок учёта. Распространённые варианты — внутреннее зачисление, ручной возврат, бонусный кредит или проверка службой поддержки.
Главное — видеть ситуацию. Если серверная часть знает, что инвойс имеет статус «переплачено», операторы могут последовательно урегулировать случай.
Просроченные и поздние платежи
У инвойсов часто есть срок действия, чтобы мерчант не был навсегда привязан к старому курсу или сеансу оформления покупки. Клиент всё равно может отправить средства после истечения этого срока, поэтому поздние платежи требуют чёткой обработки.
Не обрабатывайте поздние платежи как обычные оплаченные заказы, если это не предусмотрено вашей политикой. Отделяйте их, чтобы служба поддержки и бухгалтерия могли определить следующий шаг.
Сверка по вебхукам
Самый безопасный подход к интеграции — сверка прежде всего по вебхукам. Создайте инвойс, покажите платёжные реквизиты, а затем обновляйте заказ только после того, как серверная часть получит и проверит событие со статусом платежа.
Начните с API криптоинвойсов и подключите его к автомату состояний заказа до запуска оплаты в продакшене.