Интеграция со смарт-контрактами
Принимайте криптовалюту напрямую на свой кошелёк через смарт-контракты Volet.com. Клиенты подключают свои криптокошельки и подтверждают транзакции, а смарт-контракт проводит платёж и распределяет средства и комиссию за обработку ончейн.
Ни вам, ни вашим клиентам не нужен аккаунт Volet.com. Кошелёк для приёма средств под вашим контролем, а подтверждение платежей выполняет ваше собственное приложение.
В этой интеграции не используются Hosted Checkout и инвойсы Merchant API. Страницу оплаты предоставляет ваше приложение, и оно же проверяет платежи напрямую в блокчейне. Уведомлений о статусе платежа Volet.com в этом сценарии не отправляет.
Как это работает
В некастодиальной платёжной интеграции участвуют три компонента:
- Ваше приложение: создаёт заказы, инициирует платежи и проверяет транзакции.
- Кошелёк клиента: подключается к вашему приложению и подписывает платёжные транзакции.
- Смарт-контракт Volet.com: проводит платежи, переводит средства на ваш кошелёк и удерживает комиссию за обработку.
Порядок платежа
- Создайте заказ. Ваш бэкенд сохраняет сумму платежа, актив, блокчейн-сеть и кошелёк мерчанта для приёма средств.
- Подключите кошелёк клиента. Ваше приложение запрашивает подключение совместимого криптокошелька.
- Рассчитайте платёж. Функция смарт-контракта
previewPayment()возвращает комиссию за обработку и сумму, которую должен заплатить клиент. - Запросите оплату. Клиент проверяет и подписывает транзакцию. Для оплаты токенами, например USDT, сначала может потребоваться отдельное одобрение.
- Транзакция обрабатывается. Смарт-контракт переводит средства на ваш кошелёк и удерживает комиссию за обработку.
- Сохраните транзакцию. Ваше приложение сохраняет хеш транзакции (
txid) и связывает его с заказом. - Проверьте платёж. Ваш бэкенд самостоятельно проверяет транзакцию: статус, сеть, контракт, актив, получателя, сумму и финальность в блокчейне.
- Завершите заказ. После успешной проверки приложение помечает заказ как оплаченный и выполняет его ровно один раз.
Хеш транзакции, одобрение в кошельке или успешный статус транзакции сами по себе не подтверждают оплату заказа. Всегда проверяйте данные платежа на бэкенде, прежде чем выполнять заказ.
Выберите сеть
Выберите руководство по интеграции для тех сетей и активов, которые хотите принимать.
| Сеть | Активы в этих руководствах | Кошельки клиентов | Руководство по интеграции |
|---|---|---|---|
| Ethereum и BNB Smart Chain | ETH, BNB, USDT (ERC-20 и BEP-20) | MetaMask и кошельки с поддержкой WalletConnect | Интеграция EVM |
| TRON | TRX, USDT (TRC-20) | TronLink; WalletConnect через отдельную интеграцию | Интеграция TRON |
Для других сетей и активов может понадобиться отдельная реализация. Обзор продукта и доступных вариантов — в статье Некастодиальные криптоплатежи.
П еред началом
Вам понадобятся:
- Кошелёк мерчанта: криптокошелёк под вашим контролем для приёма платежей.
- Приложение: сайт или приложение со страницей оплаты.
- Бэкенд и база данных: чтобы создавать заказы, хранить данные транзакций и проверять платежи.
- Интеграция кошельков: библиотека подключения кошельков, совместимая с выбранной сетью.
- Данные смарт-контракта: адреса контрактов-процессоров, ABI и параметры от Volet.com.
- Доступ к блокчейну: RPC-провайдер или облачный блокчейн-сервис для проверки транзакций.
В зависимости от интеграции также может понадобиться WalletConnect Project ID или API-ключ TronGrid.
Свяжитесь с нашей командой, чтобы получить данные смарт-контракта и обсудить интеграцию.