
Работа с оплатой в ETH: цена, газ и подтверждения
Принимать ETH — не значит просто опубликовать адрес Ethereum и ждать переводов. Для коммерческого платежа нужны цена, точный платежный запрос, срок его действия, обработка подтверждений, привязка к заказу и надежное действие после оплаты.
Yolfi предоставляет платежные ссылки для криптовалюты, подписки, события об оплате, вебхуки и прямое зачисление на кошелек без хранения средств посредником для поддерживаемых сочетаний актива и сети. Предлагать ETH в сети Ethereum следует только в том случае, если именно это сочетание доступно в авторизованных действующих настройках продавца: сама по себе общедоступная страница монеты или сети не подтверждает возможность зачисления средств.
В этом руководстве разобраны практические решения, необходимые для приема оплаты в ETH: когда указывать цену в ETH, когда вместо него использовать стейблкоин в сети Ethereum, как учитывать комиссию за газ и колебания курса, а также что приложение должно делать до и после подтверждения платежа.
Что значит принимать платежи в Ethereum?
Ethereum — это блокчейн-сеть. ETH — ее нативный актив: он используется для оплаты комиссий за транзакции и может переводиться в качестве платежа. В Ethereum также обращаются токены, включая такие стейблкоины, как USDC и USDT. Более подробное введение в устройство сети доступно на Ethereum.org в статье «Что такое Ethereum?».
В контексте Yolfi см. обзор сети Ethereum и страницу актива ETH. Эти общедоступные страницы описывают сеть и актив, но не подтверждают доступность зачисления для конкретного аккаунта.
Обычно оплата в ETH выглядит так:
- Система оплаты создает платежный запрос, привязанный к заказу или клиенту.
- В запросе указаны ETH, сеть Ethereum, адрес получателя, точная сумма и, если применимо, срок действия.
- Клиент подтверждает транзакцию в совместимом кошельке.
- Транзакция отправляется в сеть Ethereum и получает статус ожидания.
- Платежная система обнаруживает перевод и ждет необходимого уровня подтверждения.
- Проверенное событие об оплате сообщает приложению, что можно выполнить заказ, обновить счет или продлить доступ.
Последний этап особенно важен. Хеш идентифицирует транзакцию, но сам по себе не доказывает, что ее передали в сеть, подтвердили или сопоставили с нужным заказом.
ETH или стейблкоин в сети Ethereum?
ETH и стейблкоины могут работать в одной сети, но решают разные задачи ценообразования.
| Вопрос | ETH | Стейблкоин в сети Ethereum |
|---|---|---|
| Что переводится? | Нативный актив Ethereum | Баланс токена по смарт-контракту, например USDC или USDT |
| Меняется ли рыночная стоимость? | Да | Стоимость рассчитана на привязку к базовой валюте, обычно к доллару США |
| Кто оплачивает газ? | Отправитель платит за газ в ETH | Отправителю также нужен ETH для оплаты газа |
| Для чего подходит лучше всего | Покупатели, уже пользующиеся криптовалютой; товары с ценой в ETH; дополнительный способ оплаты с кошелька | Счета, тарифы и товары с ценой в обычной валюте, для которых важна более стабильная сумма |
| Главная практическая сложность | Изменение курса в процессе оплаты | Необходимо четко указать сеть и точный контракт токена |
Предлагайте ETH, если клиенты уже им владеют или товар естественным образом оценивается в ETH. Если у товара фиксированная цена в долларах, стейблкоин в сети Ethereum может быть удобнее и клиенту, и финансовому отделу: сумму в токенах не придется пересчитывать вслед за рыночным курсом ETH.
Не называйте оплату в стейблкоине платежом в ETH только потому, что она проходит в сети Ethereum. «Оплатить 0,02 ETH в сети Ethereum» и «Оплатить 50 USDC в сети Ethereum» — разные способы оплаты. Во втором случае используется контракт токена, а клиенту все равно понадобится немного ETH для оплаты комиссии сети.
Настройка отдельных стейблкоинов описана в руководствах по приему платежей в USDC и приему платежей в USDT.
Когда стоит принимать ETH
ETH может стать полезным дополнительным способом оплаты, если:
- клиенты уже пользуются кошельками Ethereum;
- продукт рассчитан на разработчиков, криптовалютные компании, коллекционеров, трейдеров или других покупателей, активно использующих Ethereum;
- клиент хочет оплатить счет со своего баланса ETH;
- компания хочет получать платежи непосредственно на настроенный кошелек;
- цена товара или услуги намеренно указана в ETH;
- подтвержденный платеж должен запускать выдачу товара или открывать доступ к учетной записи.
ETH хуже подходит как основной способ оплаты недорогой покупки с ценой в обычной валюте, если у покупателя еще нет ETH. Клиенту придется приобрести ETH, настроить кошелек и заплатить комиссию сети. Сохраняйте оплату картой или банковским переводом там, где эти способы привычнее целевой аудитории.
ETH также можно предлагать вместе со стейблкоинами. Показывайте способы оплаты, востребованные клиентами, а не все доступные активы сразу.
Выберите модель ценообразования до создания страницы оплаты
Для платежного запроса в ETH нужен один однозначный источник цены.
Фиксированная цена в ETH
Фиксированная цена в ETH подходит продавцу, который ведет расчеты в ETH. Товар может стоить определенную сумму ETH независимо от его стоимости в обычной валюте на момент оплаты.
На странице оплаты эта модель проста, но рыночный риск берет на себя компания. Выручка в местной валюте может измениться между назначением цены, получением платежа и последующей конвертацией.
Цена в обычной валюте с пересчетом в ETH
Для товара с ценой в обычной валюте можно рассчитать необходимую сумму ETH при начале оплаты. В запросе следует показать:
- исходную цену в обычной валюте;
- точную сумму ETH для отправки;
- использованный курс или котировку, если страница оплаты их отображает;
- срок действия котировки;
- что произойдет, если платеж поступит поздно или в другой сумме.
Не оставляйте котировку волатильного актива действующей бессрочно. Если клиент отправит старую сумму в ETH после изменения рынка, платеж может оказаться меньше или больше текущей цены.
Цена в стейблкоине в сети Ethereum
Если цена товара уже указана в долларах, поддерживаемый стейблкоин в сети Ethereum устраняет большую часть сложностей с пересчетом в ETH. Но он не отменяет комиссии сети, обработку подтверждений и проверку токена. В платежном запросе по-прежнему должны быть указаны точный актив, распознаваемый платежной системой контракт токена, сеть, сумма, адрес и статус.
Учитывайте комиссию за газ в Ethereum
Газ — это плата за вычисления и обработку транзакций в Ethereum. Ее вносит отправитель в ETH, а размер меняется в зависимости от нагрузки на сеть. В документации по газу на Ethereum.org объясняются лимит газа, базовая и приоритетная комиссии, а также зависимость итоговой оценки кошелька от вида транзакции и текущих условий.
Избежать путаницы продавцам помогут четыре правила:
- Отделяйте газ от суммы покупки. Если в платежном запросе указано 0,05 ETH, продавец должен получить 0,05 ETH, а в кошельке отправителя должен быть дополнительный ETH для оплаты газа.
- Не обещайте фиксированную комиссию сети. Показывайте текущую оценку кошелька или сообщайте клиенту, что взимается комиссия сети Ethereum.
- Проверяйте целесообразность небольших платежей. Технически корректный платеж может быть невыгодным, если газ составляет значительную часть стоимости покупки.
- Не вычитайте газ из возврата без заранее опубликованного правила. Укажите, кто оплачивает комиссию отдельной транзакции возврата — компания или клиент.
Перевод токена обычно расходует больше газа, чем простой перевод ETH, поскольку вызывает контракт токена. Не публикуйте постоянное сравнение комиссий: фактическая сумма зависит от транзакции и состояния сети.
Основная сеть Ethereum и другие сети
В кошельках «ETH» может отображаться как в основной сети Ethereum, так и в других сетях. Схожий формат адресов не делает эти сети взаимозаменяемыми. Транзакция, отправленная в другой сети, не становится платежом в основной сети Ethereum только потому, что актив обозначен как ETH или адрес получателя начинается с 0x.
Используйте основную сеть Ethereum, если именно она выбрана в действующей форме оплаты. Рассматривать другую сеть стоит лишь при одновременном выполнении трех условий:
- она доступна в текущих настройках Yolfi;
- кошелек для получения средств настроен и проверен в этой сети;
- клиенты действительно ею пользуются.
Не делайте вывод о поддержке по кошельку, формату адреса или списку токенов. Указывайте только те сочетания актива и сети, которые доступны в действующем процессе оплаты. Подробнее о подписях на странице оплаты, сборе данных об ошибке и запросах на повторный платеж рассказано в руководстве как предотвращать криптоплатежи не в той сети.
Как подготовить прием платежей в ETH с помощью Yolfi
1. Проверьте доступность до настройки кошелька
Откройте авторизованные настройки зачисления средств и проверьте, действительно ли для вашей учетной записи доступен ETH в сети Ethereum. Если это сочетание отсутствует, не публикуйте ETH как способ оплаты и не просите клиентов отправлять средства. Вместо этого используйте сочетание актива и сети, которое поддерживается в данный момент.
Для поддерживаемых сочетаний Yolfi работает без хранения средств пользователей: платежи поступают от клиента напрямую на настроенный кошелек продавца, а не на баланс под управлением Yolfi. Это исключает один этап хранения средств посредником, но возлагает на продавца ответственность за безопасность кошелька, владение адресом и сверку операций. Если ETH в сети Ethereum станет доступен, добавляйте только адрес Ethereum для зачисления средств, который контролирует компания, и посимвольно проверяйте его.
2. Выберите ETH и точно указанную сеть
Выбирайте ETH в сети Ethereum, только если такое сочетание доступно в авторизованных действующих настройках. Если Yolfi предлагает дополнительные сети, рассматривайте каждую из них как отдельный маршрут оплаты со своими проверками, инструкциями для клиентов и учетом поступлений.
На странице оплаты должно быть написано «ETH в сети Ethereum», а не просто «криптовалюта» или «отправьте ETH сюда». Повторно укажите сеть на этапе подтверждения транзакции клиентом.
3. Задайте сумму и срок действия
Для товара с ценой в ETH задайте точную сумму ETH. Для товара с ценой в обычной валюте позвольте странице оплаты рассчитать сумму ETH по котировке и укажите срок ее действия.
Заранее решите, как система будет обрабатывать:
- транзакцию, отправленную до истечения срока, но подтвержденную после него;
- платеж, отправленный после истечения срока;
- сумму меньше запрошенной;
- сумму больше запрошенной;
- две транзакции по одному заказу.
Не устраняйте такие расхождения незаметным изменением истории заказа. Передавайте их на проверку или создавайте новый платежный запрос в соответствии с документированными правилами.
4. Создайте платежную ссылку или подключите процесс оплаты
Платежная ссылка для криптовалюты — самый быстрый структурированный способ принять оплату счета, пакета услуг или цифрового товара, а также предложить его клиенту, который хочет заплатить в ETH. Такая ссылка связывает перевод с суммой и деловым контекстом без собственной интеграции.
В продукте с самообслуживанием процесс оплаты следует связать с данными о заказе и клиенте. Сохраняйте такие идентификаторы и сведения, как:
- идентификатор клиента или учетной записи;
- идентификатор заказа или счета;
- товар и тариф;
- исходная цена в обычной валюте и рассчитанная сумма ETH;
- время создания и окончания действия котировки;
- выбранные актив и сеть.
Эти поля позволяют службе поддержки и бухгалтерии разобраться в операции, не строя догадки по движениям в кошельке.
5. Дождитесь необходимого уровня подтверждения
Транзакции Ethereum проходят несколько состояний. Они могут оставаться в ожидании, быть заменены, завершиться ошибкой или попасть в блок. В документации по транзакциям Ethereum описаны поля транзакции, комиссии, номера операций, подписи и включение транзакций в блоки.
Установите правила подтверждения с учетом стоимости заказа и риска. Не утверждайте, что всем компаниям нужно одно и то же фиксированное число подтверждений. Ориентируйтесь на подтвержденный статус, который выдает платежная система, и применяйте дополнительные правила своей компании при необходимости.
Никогда не выполняйте заказ на основании снимка экрана кошелька, страницы возврата в браузере или одного лишь хеша. Сопоставьте транзакцию с запрошенными сетью, активом, адресом назначения, точной суммой, заказом и уровнем подтверждения.
6. Обрабатывайте платежные события идемпотентно
Когда ETH в сети Ethereum поддерживается и включен, используйте платежные события или вебхуки Yolfi, чтобы связать подтверждение с приложением. Подтвержденное событие может:
- отметить счет как оплаченный;
- выдать файл для скачивания или лицензию;
- начислить средства на внутренний баланс;
- активировать учетную запись;
- продлить оплаченный период;
- уведомить финансовый отдел или службу поддержки.
Обработка вебхуков должна быть идемпотентной: повторное получение одного события не должно приводить к повторной выдаче товара или двойному продлению подписки. Сохраняйте ссылку на платеж и идентификатор транзакции, проверяйте событие способом, указанным в документации к интеграции, возвращайте успешный ответ только после надежного сохранения результата и при необходимости безопасно повторяйте внутренние операции.
Платежные ссылки или встроенный процесс оплаты?
Выбирайте самое простое решение, которое дает необходимый уровень контроля.
| Сценарий | С чего лучше начать | Почему |
|---|---|---|
| Счет за консультацию | Платежная ссылка | Ее легко отправить в уже начатой переписке с клиентом |
| Разовая продажа цифрового товара | Платежная ссылка или процесс оплаты | Выбор зависит от того, выдается товар вручную или автоматически |
| Переход на другой тариф SaaS-продукта | Встроенный процесс оплаты | Нужно обновить учетную запись, тариф и права доступа |
| Пополнение баланса API | Встроенный процесс оплаты | После подтверждения баланс должен обновиться ровно один раз |
| Индивидуальный годовой договор | Платежная ссылка | Отдел продаж может добавить понятную ссылку на счет |
| Регулярное членство | Оплата по подписке | Нужны статус продления и правила доступа |
Обычный адрес кошелька — не платежная ссылка. В нем нет уникального запроса, точной текущей цены, срока действия, привязки к заказу и понятного клиенту статуса.
Для подписок в ETH нужны правила ценообразования
Yolfi предоставляет криптовалютные подписки для поддерживаемых сочетаний актива и сети. Не следует считать, что это автоматически включает ETH в сети Ethereum. Если такое сочетание доступно в авторизованных действующих настройках, прежде чем предлагать подписку, определите, в чем выражена цена тарифа: в ETH или в обычной валюте.
В тарифе с фиксированной ценой в ETH количество токенов остается неизменным, а стоимость в обычной валюте колеблется. Для тарифа с ценой в обычной валюте при каждом списании или платежном запросе нужна новая котировка в ETH. Стейблкоин в сети Ethereum может быть удобнее, если компания хочет сохранить номинальную сумму близкой к цене в обычной валюте.
Правила доступа по-прежнему определяет ваш продукт. Укажите:
- когда начинается доступ;
- при каком статусе платежа продлевается оплаченный период;
- сколько времени дается клиенту на решение проблемы с ожидающим или неудачным продлением;
- предусмотрен ли льготный период;
- что меняется после отмены;
- как обрабатываются повторные или опоздавшие платежи.
Платежное событие сообщает о финансовом состоянии. Оно не должно заменять систему состояний подписки в продукте.
Возвраты и бухгалтерский учет
Подтвержденный платеж в Ethereum нельзя отменить через процедуру возвратного списания карточной сети. Однако продавец может вернуть деньги клиенту отдельной транзакцией в соответствии со своими правилами возврата.
Перед возвратом:
- проверьте исходный заказ и подтвержденную транзакцию;
- проверьте утвержденную сумму и актив возврата;
- получите и проверьте адрес возврата по документированной процедуре;
- укажите порядок оплаты комиссии сети;
- получите необходимое внутреннее согласование;
- учитывайте транзакцию возврата отдельно от исходного поступления.
Не отправляйте возврат автоматически на адрес из неожиданного сообщения. Плательщик, владелец учетной записи и владелец предложенного адреса могут быть разными лицами.
Для каждого платежа сохраняйте ссылку на заказ, данные клиента, актив, сеть, сумму в криптовалюте, исходную стоимость в обычной валюте и использованное компанией время оценки, адрес получения средств, идентификатор транзакции, статус подтверждения, учтенные компанией комиссии и сведения о последующем возврате. Бухгалтерский и налоговый учет зависит от юрисдикции, поэтому уточните требования к оценке и отчетности у квалифицированного специалиста.
Распространенные ошибки при приеме ETH
Публикация только адреса кошелька
По адресу клиент не узнает текущую сумму, сеть, срок действия или ссылку на заказ. Используйте платежный запрос, связывающий перевод с покупкой.
Использование ETH и Ethereum как синонимов
Ethereum — это сеть, а ETH — ее нативный актив. В Ethereum также обращаются стейблкоины и другие токены. В инструкциях для клиентов называйте и актив, и сеть.
Игнорирование колебаний комиссии за газ
Цена продавца и комиссия клиента за газ — разные суммы. Не рекламируйте постоянную комиссию и не считайте, что переводы ETH и токенов обходятся одинаково.
Слишком долгий срок действия котировки ETH
Устаревшая котировка приводит к недоплатам и переплатам, которых можно избежать. Установите явный срок действия и при необходимости создавайте новый запрос.
Выполнение заказа по странице возврата
Браузер может вернуться на сайт до подтверждения действительного платежа. Выполняйте заказ только после того, как проверенный статус платежа или проверенный вебхук будет сопоставлен с запросом.
Одинаковое жестко заданное правило подтверждения для всех операций
Правила подтверждения должны учитывать состояние транзакции, стоимость заказа и риск. Не принимайте решение о выполнении заказа с высоким риском только на основании появления хеша.
Предположение, что любой перевод на адрес 0x проходит в основной сети Ethereum
Адреса в стиле Ethereum используются в нескольких сетях. Принимайте платеж только в сети, выбранной в действующем процессе оплаты, и проверяйте транзакцию именно в ней.
Отсутствие процедур возврата и учета
Прямое зачисление на кошелек не устраняет работу службы поддержки и бухгалтерии. До роста объемов определите порядок проверки адресов, согласования возвратов, учета комиссий сети, фиксации стоимости и сверки операций.
Часто задаваемые вопросы
Как принимать платежи в Ethereum на своем сайте?
Сначала убедитесь, что ETH в сети Ethereum доступен в авторизованных действующих настройках Yolfi. Если это так, настройте кошелек для получения средств и создайте платежную ссылку или встроенный процесс оплаты. Показывайте точную сумму и срок действия, а заказ выполняйте только после получения подтвержденного статуса платежа или проверенного вебхука. Если это сочетание недоступно, выберите поддерживаемый вариант вместо приема перевода вне контролируемого процесса.
Можно ли принимать платежи в ETH без KYC?
Не делайте вывод на основании общедоступной страницы ETH. Проверьте актуальные требования к регистрации и авторизованным настройкам для сочетания актива и сети, доступного вашей учетной записи. В зависимости от вида деятельности и юрисдикции у вашей компании также могут быть собственные юридические и налоговые обязательства, требования к проверке клиентов или отчетности.
Клиенты оплачивают комиссию за газ в Ethereum?
Отправляющий кошелек оплачивает комиссию сети Ethereum в ETH. Не включайте газ в сумму покупки. Расчетная комиссия может меняться в зависимости от нагрузки на сеть и вида транзакции.
Указывать цену товара в ETH или в обычной валюте?
Используйте фиксированную цену в ETH, если товар намеренно оценивается в ETH и компания готова к колебаниям курса. Для товаров с ценой в обычной валюте создавайте ограниченную по времени котировку в ETH или предлагайте поддерживаемый стейблкоин, если он лучше соответствует модели ценообразования.
Сколько подтверждений нужно для платежа в ETH?
Единого числа, подходящего каждому продавцу и заказу, нет. Используйте подтвержденный статус платежной системы и письменные правила оценки риска, учитывающие состояние транзакции, сумму и риск выполнения заказа. Не считайте сам факт отправки или хеш транзакции подтверждением.
Можно ли принимать USDC или USDT в сети Ethereum вместо ETH?
Да, если точное сочетание стейблкоина и сети Ethereum доступно в действующих настройках Yolfi. Стейблкоины удобны для товаров с ценой в обычной валюте, но клиенту все равно нужен ETH для оплаты газа, а токен и сеть должны быть выбраны правильно.
Можно ли принимать ETH не только в основной сети Ethereum?
Подключайте другую сеть только в том случае, если она доступна в действующих настройках Yolfi, кошелек для получения средств правильно настроен для этой сети и клиенты ею пользуются. Не делайте вывод о поддержке по формату адреса или подписи в кошельке.
Можно ли вернуть платеж в ETH?
Подтвержденный платеж нельзя отменить как возвратное списание по карте. Продавец может отправить отдельную транзакцию по своим правилам возврата после проверки заказа, суммы, актива, адреса назначения, согласования и порядка оплаты комиссии сети.
Может ли Yolfi хранить или конвертировать мой ETH?
Для поддерживаемых сочетаний актива и сети документированная модель предусматривает прямое зачисление без хранения средств посредником: платежи клиентов поступают на настроенный кошелек продавца. Не выстраивайте процесс в расчете на то, что Yolfi хранит, конвертирует или позднее перечисляет ETH, и не считайте ETH поддерживаемым, если он недоступен в авторизованных настройках.
Заключение
Чтобы надежно принимать платежи в Ethereum, рассматривайте процесс оплаты как платежную систему, а не как страницу с адресом кошелька. Выбирайте ETH или стейблкоин в сети Ethereum в соответствии с моделью ценообразования, отделяйте газ от суммы покупки, ограничивайте срок действия котировок волатильного актива, точно указывайте сеть и ждите подтвержденных данных об оплате.
Если ETH в сети Ethereum доступен в авторизованных действующих настройках Yolfi, начните с одного товара и одного маршрута оплаты. Проверьте точную сумму, срок действия, транзакцию из кошелька, подтверждение, вебхук, выполнение заказа, сверку операций и процедуру возврата. Добавляйте подписки или другие сети только после того, как этот маршрут заработает, а спрос клиентов оправдает дополнительную сложность. Если такое сочетание недоступно, не пытайтесь заменить управляемый процесс простым адресом кошелька.


