Перейти к основному содержимому

Интеграция со смарт-контрактами

Типичная интеграция некастодиальных платежей состоит из трёх компонентов:

  • Ваше приложение
  • Провайдер подключения кошельков
  • Платёжный смарт-контракт

Провайдер подключения кошельков отвечает только за подключение кошелька клиента и запрос подписи транзакции. Сам платёж выполняет смарт-контракт в блокчейне.

подсказка

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

Порядок платежа​

  1. Клиент переходит на страницу оформления заказа.
  2. Клиент подключает свой кошелёк.
  3. Ваше приложение готовит платёжную транзакцию.
  4. Транзакция передаётся в подключённый кошелёк.
  5. Клиент проверяет и подписывает транзакцию.
  6. Кошелёк отправляет подписанную транзакцию в блокчейн.
  7. Смарт-контракт переводит средства.
  8. Кошелёк получает хеш транзакции (txid) и возвращает его вашему приложению.
  9. Ваше приложение отслеживает транзакцию, пока она не получит нужное число подтверждений.
  10. Ваша система отмечает заказ как оплаченный.

Что понадобится​

Перед интеграцией вам понадобятся:

  • Фронтенд-приложение, которое умеет подключать криптокошельки.
  • Бэкенд (рекомендуется) для создания платёжных запросов и отслеживания транзакций в блокчейне.
  • Данные смарт-контракта от Volet.com.
  • Провайдер подключения кошельков, подходящий для блокчейн-сетей, которые вы планируете поддерживать.

Разовая настройка​

Шаг 1. Настройте подключение кошельков​

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

Типичные варианты:

  • WalletConnect — Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche и другие EVM-совместимые сети.
  • TronLink — Tron.
  • TON Connect — TON.
  • Solana Wallet Adapter — Solana.

Некоторым провайдерам, например WalletConnect, перед использованием нужен Project ID или учётные данные API.

Шаг 2. Получите данные смарт-контракта​

Обратитесь в Volet.com, чтобы получить адрес смарт-контракта, ABI и параметры, специфичные для вашей интеграции.

Реализация платёжного сценария​

Шаг 1. Подключите кошелёк клиента​

Предложите клиенту подключить совместимый кошелёк.

Например:

  • MetaMask или Trust Wallet через WalletConnect.
  • TronLink для Tron.
  • Tonkeeper через TON Connect.
  • Phantom или Solflare через Solana Wallet Adapter.

Шаг 2. Подготовьте транзакцию​

Подготовьте запрос транзакции в приложении.

Обычно он содержит:

  • Адрес кошелька получателя
  • Сумму платежа
  • Токен
  • Блокчейн-сеть (chainId)
  • ID заказа
  • Необязательные метаданные

Транзакцию можно подготовить как на фронтенде, так и на бэкенде.

Шаг 3. Запросите подпись транзакции​

Передайте подготовленную транзакцию в подключённый кошелёк.

По указанному chainId кошелёк автоматически выбирает нужную блокчейн-сеть и RPC-эндпоинт.

Клиент проверяет данные транзакции.

Если всё верно, он подписывает транзакцию в своём кошельке.

Шаг 4. Отправьте транзакцию в сеть​

После подписания кошелёк отправляет транзакцию в блокчейн через соответствующий RPC-эндпоинт.

Если сеть приняла транзакцию, кошелёк получает хеш транзакции (txid) и возвращает его вашему приложению.

Сохраните хеш транзакции вместе с заказом.

Шаг 5. Проверьте подтверждения транзакции​

Отслеживайте блокчейн по хешу транзакции, пока платёж не получит нужное число подтверждений.

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

RPC-провайдеры​

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

Если ваше приложение делает много запросов к блокчейну — например, отслеживает платёжные транзакции или массово запрашивает данные блокчейна, — стоит использовать:

  • Выделенного RPC-провайдера.
  • Собственный RPC-узел.

Выделенная инфраструктура помогает обойти ограничения частоты запросов публичных RPC и повышает надёжность под высокой нагрузкой.

Что дальше​

  • Изучите справочник по смарт-контракту.
  • Проверьте сценарии успешных и неудачных платежей.
  • Проверьте обработку подтверждений транзакций.
  • Разверните интеграцию в рабочей среде.