Как принимать криптоплатежи в Base: руководство для продавца

Как принимать криптоплатежи в Base: руководство для продавца

Author: Xi Wang
Created:

Чтобы надежно принимать криптоплатежи в Base, продавцу недостаточно адреса кошелька Base. Рабочий процесс оплаты должен точно определять токен и сеть, запрашивать правильную сумму, обнаруживать перевод, дожидаться нужного статуса подтверждения, сопоставлять платеж с заказом и предотвращать повторное исполнение.

Base может быть удобной платежной сетью для клиентов, которые уже пользуются совместимыми с Ethereum кошельками и держат в ней средства. Это EVM-сеть, в которой газ оплачивается в ETH, а идентификатор основной сети — 8453. Сходство с Ethereum упрощает работу с Base, но одновременно создает распространенную проблему: адрес 0x выглядит действительным в нескольких сетях, даже если клиент выбрал не ту сеть.

В этом руководстве описана настройка платежей в Base для продавца с акцентом на USDC, проверку контракта токена, выбор процесса оплаты, Webhook, возвраты и учет. Прежде чем публиковать любой способ оплаты, убедитесь, что точное сочетание токена и сети доступно в вашей авторизованной платежной конфигурации. Открытая страница сети Base дает полезную справочную информацию, но не доказывает, что все активы включены для каждого аккаунта.

Что на самом деле означает прием платежей в Base

Base — сеть второго уровня Ethereum. Она поддерживает учетные записи, смарт-контракты, кошельки и стандарты токенов в стиле Ethereum. Согласно официальной документации по подключению к Base, основная сеть Base использует:

  • название сети: Base Mainnet;
  • идентификатор сети: 8453;
  • валюту газа: ETH;
  • обозреватель блоков: BaseScan.

Поэтому платеж в Base состоит из нескольких отдельных полей:

  1. Сеть: основная сеть Base, а не основная сеть Ethereum или другая EVM-сеть.
  2. Актив: ETH или конкретный токен, например USDC.
  3. Контракт токена: обязателен, если актив — токен, а не нативный ETH.
  4. Адрес назначения: совместимый с Base расчетный адрес продавца.
  5. Сумма: точная сумма, ожидаемая по заказу.
  6. Платёжный идентификатор: запись, связывающая перевод с клиентом, счётом или покупкой.
  7. Статус: ожидается, подтвержден, не соответствует условиям, просрочен либо иной статус, заданный платежной системой.

По одному лишь действительному на вид адресу нельзя определить сеть. Транзакция, отправленная на тот же адрес 0x в Ethereum, Arbitrum или другой EVM-сети, не становится платежом в Base. На странице оплаты, в инструкциях службы поддержки и учетных записях всегда должны быть указаны и актив, и сеть — например, «USDC в Base».

Почему продавцы выбирают Base

Base стоит протестировать, если ей уже пользуется заметная доля клиентов. Среди подходящих сценариев — инструменты для разработчиков, онлайн-сервисы, цифровые продукты, платные сообщества, пополнение баланса аккаунта и счета для клиентов, активно работающих с криптовалютами.

Практические преимущества Base:

  • привычные EVM-кошельки и адреса;
  • ETH в качестве актива для оплаты газа, уже знакомого пользователям Ethereum;
  • поддержка токенов, включая нативный USDC;
  • проверка транзакций через BaseScan;
  • стоимость транзакций обычно может быть ниже, чем в основной сети Ethereum, однако гарантировать комиссию нельзя.

Последний пункт требует осторожности. «Обычно дешевле» не означает «всегда дешево». Комиссия зависит от текущего состояния сети и конкретной транзакции. Если средства клиента находятся в другой сети, до перехода в Base ему также могут понадобиться вывод с биржи или мост, что повлечет дополнительные расходы. Сравнивайте весь путь клиента, а не только оценку газа для последнего перевода.

Base не подходит в качестве варианта по умолчанию, если клиенты не держат там средства, не могут вывести их в эту сеть со своей биржи или вынуждены пользоваться незнакомым мостом. Если вы еще выбираете сеть, обратитесь к общему руководству по выбору лучшего блокчейна для платежей в стейблкоинах, а не считайте Base универсальным решением.

Выбор USDC, ETH или другого поддерживаемого токена

Выбор сети и выбор актива — разные решения. Клиент может отправить нативный ETH в Base или перевести токен в Base. Способ оплаты должен однозначно указывать и то, и другое.

USDC в Base

USDC часто становится самым понятным начальным вариантом для продукта с ценой в долларах США. Ориентировочная цена 50 USD может превратиться в запрос на 50 USDC, не подвергая клиента таким же краткосрочным колебаниям курса, как платеж в ETH. При этом USDC несет риски эмитента, контракта, потери привязки, регулирования, кошелька и сети; «стейблкоин» не означает отсутствие риска.

В официальном каталоге контрактов USDC Circle для нативного USDC в Base указан адрес:

0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Проверять контракт важно, потому что название и символ токена не являются уникальными идентификаторами. Кошельки могут показывать похожие активы, а версии, перенесенные через мост, могут использовать другие контракты. Интеграция должна распознавать точный контракт, поддерживаемый платежным процессом, а не любой токен с надписью «USDC».

Нативный USDC и USDC, перенесенный через мост

Нативный USDC выпускается для целевой сети и определяется контрактом из каталога Circle. Токен, перенесенный через мост, представляет актив, перемещенный с помощью моста, и может отличаться контрактом, отношениями с эмитентом, ликвидностью и порядком погашения.

Не считайте нативный и перенесенный через мост USDC взаимозаменяемыми только потому, что их названия или стоимость выглядят одинаково. Перед включением USDC в Base:

  1. прочитайте точное название актива в авторизованных настройках продавца;
  2. сравните его контракт с актуальным каталогом Circle;
  3. проверьте контракт, показанный в кошельке или транзакции клиента;
  4. проверьте, распознает ли платежная система именно этот контракт;
  5. зафиксируйте, как служба поддержки отличает неподдерживаемый актив, перенесенный через мост.

Если контракт не соответствует поддерживаемому маршруту, не отмечайте заказ оплаченным автоматически. Передайте перевод на проверку. Средства могут находиться по адресу, но при этом не соответствовать правилам приема платежей продавца.

ETH в Base

ETH — нативный актив для оплаты газа в Base. Его также можно принимать как оплату, если такой вариант действительно доступен. Он подходит покупателям, уже владеющим ETH в Base, и продуктам, цена которых намеренно указана в ETH.

Для продуктов с ценой в обычной валюте ETH создает риск колебания курса. Страница оплаты должна рассчитывать точную сумму в ETH, показывать срок действия котировки и определять порядок обработки поздних, неполных и избыточных платежей. Не используйте старую котировку ETH после изменения цены.

Другие токены

Предлагайте другой токен, только если выполнены все условия:

  • этот точный токен в Base доступен в авторизованных настройках;
  • со стороны клиентов есть реальный спрос;
  • расчетный кошелек и финансовые процессы поддерживают его контракт;
  • команда умеет рассчитывать цену, подтверждать, сверять и возвращать такие платежи;
  • страница оплаты четко отличает его от одноименных или перенесенных через мост активов.

Не рекламируйте прием «любого токена в Base». Техническая возможность перевода не означает поддержку на странице оплаты.

Объясните оплату газа в Base до платежа клиента

И платежи в ETH, и платежи в токенах в Base требуют газа. При обычном переводе без спонсирования комиссии или оплаты газа токеном ERC-20 отправителю нужен ETH в сети Base для сетевой комиссии. У клиента может быть достаточно USDC для покупки, но он все равно не сможет отправить транзакцию, если в кошельке нет ETH в Base.

Разделяйте три суммы:

  • стоимость покупки, которую должен получить продавец;
  • сетевую комиссию по оценке кошелька;
  • комиссию поставщика услуг или продавца, если она указана на странице оплаты.

Например, если по заказу нужно заплатить 40 USDC, продавец должен получить 40 USDC. Для газа в кошельке нужен отдельный баланс ETH. Не предлагайте клиенту вычесть расчетную комиссию из суммы в USDC.

Перед инструкциями о газе проверьте действующую страницу оплаты. Если она использует обычный перевод без спонсирования комиссии или оплаты газа токеном ERC-20, пишите клиенту: «Для сетевой комиссии нужен ETH в Base», а не просто «Нужен ETH». ETH, находящийся только в основной сети Ethereum, не может оплачивать газ в Base, пока не окажется в Base. Не обещайте фиксированную комиссию или время подтверждения: оба показателя могут меняться.

Как настроить платежи в Base

1. Проверьте доступные варианты Base

Откройте авторизованные настройки продавца и определите точные сочетания Base, доступные вашему аккаунту. Проверьте не только экран конфигурации, но и страницу оплаты. Если USDC в Base или ETH в Base отсутствует, не публикуйте его как принимаемый способ оплаты.

Запишите показанные название актива, сеть и сведения о контракте. Открытые страницы сети и монет полезны для исследования, но для вашего аккаунта решающее значение имеют действующие настройки.

2. Настройте контролируемый расчетный кошелек

Используйте совместимый с Base кошелек, контролируемый компанией. Посимвольно проверьте адрес, затем определите:

  • кто может просматривать и менять расчетный адрес;
  • кто может разрешать исходящие возвраты и переводы из казначейства;
  • как резервируются ключи или устройства подписи;
  • требуется ли согласование более чем одного человека;
  • как проверяются и регистрируются изменения адреса;
  • как финансовый отдел будет отделять балансы Base от балансов в других сетях.

Расчетная модель без хранения средств у поставщика устраняет этап вывода с его баланса, но не снимает ответственности за управление ключами и казначейством.

3. Выберите платежную ссылку или интегрированную страницу оплаты

Ссылка для оплаты криптовалютой — самый быстрый структурированный вариант для пилотного запуска, консультационного счета, индивидуальной продажи или услуги с ручным исполнением. Она задает сумму и деловой контекст платежа, не требуя от продавца создавать полноценную страницу оплаты.

Интегрированная страница оплаты лучше подходит, если платеж должен автоматически активировать аккаунт, выдать файл, начислить средства или обновить заказ. Приложение должно создавать или сохранять:

  • идентификатор заказа или счета;
  • внутренний идентификатор клиента или аккаунта;
  • продукт и цену;
  • запрошенные токен и сеть;
  • контракт токена, если применимо;
  • адрес назначения и точную сумму;
  • время создания и окончания действия котировки;
  • статус платежа и идентификатор транзакции.

Используйте процесс подписки, только если нужное сочетание платежа в Base доступно в авторизованных настройках, а продукту требуются регулярный доступ или записи о продлении. Не предполагайте конкретный механизм списания из кошелька. Задайте собственные правила продукта для доступа, льготного периода, просроченных платежей, отмены и повторных событий продления.

4. Однозначно укажите Base на странице оплаты

На странице оплаты слово «Base» должно повторяться рядом с токеном, суммой, QR-кодом и действием в кошельке. Укажите идентификатор сети 8453 в технической справке или инструкции по настройке кошелька, но не ожидайте, что каждый клиент вручную проверит числовой идентификатор.

Хороший текст на странице оплаты включает:

  • «Отправьте 75 USDC в Base»;
  • «Используйте только основную сеть Base»;
  • «Для оплаты газа нужен ETH в Base»;
  • точную сумму и срок действия, если применимо;
  • предупреждение не отправлять средства из неподдерживаемой сети.

Если клиент может выбрать сеть, не назначайте Base заранее и незаметно. Выбор должен быть явным до открытия кошелька. Подробное руководство по предотвращению криптоплатежей в неверной сети рассматривает обозначения, сбор доказательств и обработку инцидентов.

5. Проверьте весь маршрут платежом небольшой суммы

Проверки адреса кошелька недостаточно. Проведите реальную транзакцию небольшой стоимости тем же маршрутом, которым будут пользоваться клиенты. Убедитесь, что:

  1. на странице показаны правильный токен и сеть Base;
  2. кошелек переключается на сеть с идентификатором 8453;
  3. адрес назначения и сумма верны;
  4. перевод USDC использует ожидаемый контракт;
  5. кошелек отдельно показывает газ в ETH;
  6. платеж сначала получает статус ожидания, а не сразу исполняется;
  7. подтвержденный статус поступает в систему заказов;
  8. повторная доставка события не приводит к повторному исполнению;
  9. финансовый отдел может найти транзакцию в расчетном кошельке и BaseScan;
  10. процедура возврата работает с предусмотренными мерами согласования.

Повторяйте проверку после изменения расчетного кошелька, платежной интеграции, поддерживаемого токена, конечной точки событий или логики исполнения.

Подтверждения, Webhook и идемпотентное исполнение

Хеш транзакции — основание для проверки, а не команда на отправку товара. Транзакция может остаться в ожидании, завершиться неудачно или не соответствовать запрошенным активу, сети, адресу назначения, сумме либо заказу.

Составьте письменные условия приема:

  • сеть — основная сеть Base;
  • токен или нативный актив соответствует запросу;
  • контракт токена совпадает, если применимо;
  • адрес назначения совпадает с настроенным кошельком;
  • полученная сумма соответствует правилам заказа;
  • транзакция достигла требуемого статуса платежа;
  • транзакция еще не использовалась для оплаты другого заказа;
  • заказ еще не исполнен.

Используйте подтвержденный статус, предоставленный платежным процессом, и применяйте дополнительные правила с учетом стоимости заказа и риска доставки. Не обещайте универсальное количество подтверждений или гарантированное число секунд.

Для Webhook проверяйте подлинность документированным для интеграции способом. Сохраняйте идентификатор события, платёжный идентификатор и идентификатор транзакции. Обрабатывайте событие в рамках надежной операции и отмечайте исполнение завершенным только один раз.

Идемпотентность означает, что повторная доставка дает тот же конечный результат, что и однократная. Если одно подтвержденное событие поступит трижды, клиент должен получить одну лицензию, одно начисление или одно продление доступа, а не три. Практичный подход — ограничение уникальности в базе данных для идентификатора платежа или события вместе с записанным статусом исполнения.

Не полагайтесь только на Webhook. Добавьте автоматическую или ручную сверку созданных платежных запросов, подтвержденных платежных записей, транзакций Base и исполненных заказов. Так вы обнаружите пропущенные события и внутренние сбои обработки, не считая непроверенный перевод на кошелек оплатой.

Явно определите обработку неполных, поздних и повторных платежей

Base не определяет ваши коммерческие правила. До запуска задайте порядок действий для следующих случаев:

  • Недоплата: оставьте заказ неоплаченным или передайте на проверку; не снижайте цену молча.
  • Переплата: запишите фактическую сумму и примените документированную процедуру проверки или возврата.
  • Поздний платеж: решите, принимать ли просроченную котировку, запросить ли разницу или вернуть средства.
  • Повторный платеж: исполните заказ один раз, а дополнительный перевод проверьте отдельно.
  • Неверный токен: не зачисляйте автоматически неподдерживаемый контракт.
  • Неверная сеть: соберите доказательства и следуйте контролируемой процедуре обработки инцидента; возврат может быть невозможным или небезопасным.

Сотрудники поддержки не должны менять статус платежа только потому, что клиент прислал снимок экрана. Им нужны ссылка на заказ и независимо проверенные данные транзакции.

Возвраты и сверка

Подтвержденный перевод в Base нельзя отменить через процедуру возврата карточного платежа. Возврат — новая исходящая транзакция в блокчейне. Для нее нужны правильные актив, сеть Base, адрес назначения, сумма, согласование, газ и учетная запись.

Перед возвратом:

  1. проверьте исходный заказ и подтвержденную транзакцию;
  2. подтвердите утвержденные сумму возврата и токен;
  3. проверьте адрес назначения через авторизованную процедуру взаимодействия с клиентом;
  4. укажите, кто оплачивает комиссию за транзакцию возврата;
  5. получите требуемое внутреннее согласование;
  6. запишите исходящую транзакцию отдельно от исходного поступления.

Не копируйте адрес для возврата из неожиданного электронного письма или сообщения в поддержку. Адрес плательщика, владелец аккаунта и желаемый адрес назначения могут различаться, а злоумышленник может попытаться подменить адрес.

Для каждого платежа храните:

  • ссылки на заказ, счет и клиента;
  • токен, его контракт и сеть Base;
  • полученную сумму криптовалюты;
  • используемую компанией расчетную валюту, оценку стоимости и отметку времени;
  • адрес назначения и хеш транзакции;
  • время платежа и подтверждения;
  • изменения статуса и запись об исполнении;
  • комиссии поставщика услуг и сетевые комиссии, учтенные компанией;
  • связанные транзакции возврата или исправления.

Регулярно сверяйте эти записи с расчетным кошельком и реестром заказов с учетом объема операций. Исключения — неподдерживаемые токены, неполные и повторные платежи, необъяснимые переводы — помещайте в отдельную очередь проверки. Налогообложение и учет зависят от юрисдикции, поэтому по правилам оценки и отчетности консультируйтесь с квалифицированным специалистом.

Распространенные ошибки при приеме платежей в Base

Указание только «USDC» или «криптовалюта»

Символ не определяет сеть или контракт. Указывайте «USDC в Base» и проверяйте поддерживаемый контракт.

Предположение, что одинаковый адрес означает одинаковый маршрут платежа

Адрес 0x может выглядеть одинаково в разных EVM-сетях. Но транзакция все равно относится к сети, в которой она была отправлена.

Прием похожего токена из моста как нативного USDC

Сравнивайте контракт с каталогом Circle и точным активом, который распознают платежные настройки. Несоответствия отправляйте на проверку.

Игнорирование ETH, необходимого для платежей токенами

При обычном переводе USDC этот токен не оплачивает газ в Base. Сообщите клиентам, что им нужно немного ETH в Base.

Исполнение заказа по перенаправлению или снимку экрана

Страница возврата в браузере и экран подтверждения в кошельке не являются проверенным статусом платежа. Дождитесь соответствующей подтвержденной записи или проверенного Webhook.

Неидемпотентная обработка Webhook

Повторные попытки доставки Webhook нормальны. Обеспечьте уникальность, чтобы повторное событие не могло выдать продукт или продлить доступ дважды.

Включение слишком большого числа активов при запуске

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

Игнорирование казначейства и возвратов

Получение средств — лишь половина процесса. До роста объема проверьте контроль подписания, запас газа, сверку, оценку стоимости и исходящие возвраты.

Частые вопросы

Как принимать платежи USDC в Base?

Сначала убедитесь, что USDC в Base доступен в авторизованных настройках продавца. Настройте контролируемый расчетный кошелек Base, проверьте поддерживаемый контракт USDC, а затем создайте платежную ссылку или интегрированную страницу оплаты. Показывайте точную сумму и сеть, а заказ исполняйте только после соответствующего подтвержденного платежа или проверенного Webhook.

Какой идентификатор у основной сети Base?

Идентификатор основной сети Base — 8453. Официальная документация Base также указывает ETH как валюту газа, а BaseScan — как обозреватель блоков. Используйте идентификатор сети для проверки настроек кошелька и интеграции, а не вместо понятного обозначения сети для клиента.

Нужен ли клиентам ETH для оплаты USDC в Base?

Да. При обычном переводе USDC в Base кошелек отправителя должен оплатить газ в ETH, находящемся в Base. Комиссия в ETH не входит в сумму покупки в USDC.

Какой контракт у нативного USDC в Base?

В каталоге контрактов Circle для нативного USDC в Base указан адрес 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Перепроверяйте актуальный каталог эмитента и авторизованные платежные настройки, а не копируйте контракт из поиска кошелька или непроверенного списка токенов.

Можно ли принимать любой токен Base?

Такое предположение небезопасно. Принимайте только точные сочетания токена и Base, доступные в действующих настройках и поддерживаемые вашими процессами расчетов, ценообразования, подтверждения, учета и возврата.

Платежи в Base мгновенны и окончательны?

Не обещайте этого. Отправленная транзакция может остаться в ожидании или завершиться неудачно, а компании все равно нужна политика подтверждения. Используйте подтвержденный статус платежного процесса и меры контроля риска, соответствующие заказу.

Что выбрать: платежные ссылки или интегрированную страницу оплаты?

Для небольшого пилотного проекта, счетов или услуг с ручным исполнением начните с платежных ссылок. Интегрированная страница оплаты нужна, когда подтверждение должно автоматически обновить аккаунт, заказ, лицензию, баланс или срок доступа.

Можно ли вернуть платеж в Base?

Продавец может отправить отдельную исходящую транзакцию в соответствии со своей политикой возврата. Проверьте исходный платеж, клиента, адрес назначения, актив, сумму, согласование и порядок оплаты комиссии, а затем отдельно запишите транзакцию возврата.

Заключение

Прием криптовалюты в Base лучше всего работает как контролируемый платежный процесс, а не как адрес кошелька, вставленный на страницу оплаты. Начните с одного токена, который уже есть у клиентов, — для продукта с ценой в долларах это часто USDC — и убедитесь, что точный маршрут в Base доступен в авторизованных настройках.

Проверьте идентификатор сети 8453, расчетный адрес, поддерживаемый контракт токена и наличие у клиента ETH для газа. Транзакцией небольшой стоимости протестируйте ожидающий и подтвержденный статусы, повторную доставку Webhook, идемпотентное исполнение, сверку и возвраты. Когда этот маршрут заработает надежно, переходите к интегрированной странице оплаты, регулярному доступу или другому токену, только если спрос клиентов оправдывает дополнительную операционную нагрузку.

Начните принимать криптоплатежи для вашего бизнеса сейчас

Максимизируйте доход, минимизируйте расходы.