Как интегрировать криптоплатежи: технический гид

от автора

Объяснять, зачем нужны платежи в криптовалюте, в 2025 году, наверное, не надо. Если вы читаете этот гид — значит, вы уже знаете зачем. В нём я разберу процесс подключения криптоплатежей на примере платформы Heleket, однако описанный здесь принцип применим к большинству криптоплатёжных провайдеров, таких как Coinbase Commerce, BitPay, CoinGate, NOWPayments, CryptoProcessing, Cryptomus итд, так что гид подойдёт тем, кто хочет разобраться в технической стороне, безотносительно конкретной платформы.

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

  • Гибкость API, возможность кастомизировать процесс оплаты

  • Автоматизацию: наличие поддержки массовых выплат или автоконвертации

  • Безопасность: современные протоколы защиты данных

  • Поддерживаемые валюты (основные — BTC, ETH, USDT)

Heleket:

  • Поддерживаемые валюты: более 20, включая BTC, ETH, USDT, LTC, что покрывает большинство сценариев.

  • API и интеграция: REST API, SDK на Python/Node.js, плагины для WooCommerce, WHMCS, XenForo.

  • Автоконвертация: преобразование платежей в стейблкоины (например, USDT) для защиты от волатильности.

  • Массовые выплаты: отправка до 100 транзакций за раз через один эндпоинт.

  • Безопасность: HMAC-авторизация для защиты Webhook’ов, 2FA для доступа к личному кабинету, Шифрование данных по стандартам PCI DSS, Мониторинг транзакций для предотвращения мошенничества.

  • Автоматизация: настройка автоматического вывода средств через API.

  • Комиссии: начинаются от 0.4%, отсутствует плата за подключение, что удобно для тестов.

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

Пошаговая интеграция Heleket

Интеграция криптоплатежей включает несколько этапов: регистрацию, настройку API, обработку callback’ов и тестирование.

Шаг 1: Регистрация и получение API-ключа

  1. Перейдите на сайт Heleket (документация доступна в разделе Developer Portal).

  2. Зарегистрируйтесь, указав email и пароль.

  3. В личном кабинете создайте проект и получите API-ключ. Пример:

    Bearer sk_test_1234567890abcdef
  4. Сохраните ключ в безопасном месте (например, в .env).

📝 Heleket не взимает плату за подключение, так что можно сразу начать тестирование в песочнице.

Шаг 2: Настройка API для создания платежа

Основной эндпоинт для создания платежа — POST /v1/payment. Пример запроса на Python:

import requests import os  # Настройки API_KEY = os.getenv("HELEKET_API_KEY") BASE_URL = "https://api.heleket.com/v1"  # Создание платежа payload = {     "amount": 100.50,     "currency": "USDT",     "callback_url": "https://your-site.com/callback",     "description": "Оплата за подписку",     "convert_to": "USDT"  # Автоконвертация } headers = {     "Authorization": f"Bearer {API_KEY}",     "Content-Type": "application/json" }  response = requests.post(f"{BASE_URL}/payment", json=payload, headers=headers) if response.status_code == 200:     payment = response.json()     print(f"Платёж создан: {payment['payment_url']}") else:     print(f"Ошибка: {response.text}")

Что происходит:

  • Платёж создаётся в USDT на сумму 100.50.

  • convert_to включает автоконвертацию (например, если клиент платит в BTC).

  • callback_url указывает, куда придёт уведомление о статусе.

Ответ содержит payment_url — ссылку или QR-код, который показывается клиенту.

Шаг 3: Обработка callback’ов

Heleket отправляет Webhook на ваш callback_url при изменении статуса платежа. Пример обработки на Flask:

from flask import Flask, request import hmac import hashlib  app = Flask(__name__) SECRET_KEY = "your_webhook_secret"  # Из настроек Heleket  @app.route("/callback", methods=["POST"]) def handle_callback():     # Проверка подписи     signature = request.headers.get("X-Signature")     payload = request.get_data()     expected = hmac.new(SECRET_KEY.encode(), payload, hashlib.sha256).hexdigest()          if not hmac.compare_digest(signature, expected):         return "Invalid signature", 403      data = request.json     if data["status"] == "completed":         print(f"Платёж {data['payment_id']} на {data['amount']} {data['currency']} подтверждён")         # Обновите статус заказа в вашей системе     return "OK", 200  if __name__ == "__main__":     app.run(port=5000)

🔐 HMAC-подпись защищает от подделки Webhook’ов. Настройте SECRET_KEY в личном кабинете.

Шаг 4: Интеграция плагинов (альтернатива API)

Если вы работаете с CMS, Heleket предлагает плагины, которые упрощают процесс:

  • WooCommerce: Установите плагин из репозитория, введите API-ключ и выберите валюты (BTC, ETH, USDT).

  • WHMCS: Подходит для биллинга, поддерживает инвойсы и автоконвертацию.

  • XenForo: Полезно для форумов, где нужна оплата подписок.

Установка занимает 5–10 минут: скачайте плагин, загрузите в CMS, настройте ключи и callback. Например, для WooCommerce:

  1. В админке WordPress выберите «Плагины → Добавить».

  2. Загрузите heleket-woocommerce.zip.

  3. Активируйте и введите API-ключ.

📝 Плагины удобны для прототипов, но API даёт больше контроля.

Шаг 5: Массовые выплаты

Для проектов, где нужно платить партнёрам (например, в игровых платформах), Heleket поддерживает массовые выплаты через эндпоинт POST /v1/batch_payments. Пример:

payload = {     "payments": [         {"address": "0x123...abc", "amount": 50, "currency": "USDT"},         {"address": "0x456...def", "amount": 75, "currency": "USDT"}     ],     "auto_withdraw": True  # Автоматический вывод } response = requests.post(f"{BASE_URL}/batch_payments", json=payload, headers=headers) print(response.json())

Позволяет отправить до 100 выплат за раз.

Шаг 6: Тестирование и запуск

  1. Используйте тестовый API-ключ (режим песочницы) для проверки запросов.

  2. Протестируйте callback’ы с помощью инструментов вроде ngrok.

  3. Проверьте обработку ошибок (например, неверный адрес кошелька).

  4. Переключитесь на боевой ключ после успешных тестов.

📝 Документация Heleket включает Postman-коллекцию для упрощения тестирования.

Альтернативные способы: H2H и инвойсы

Помимо API и плагинов, Heleket поддерживает:

  • Host-to-Host (H2H): Кастомная форма оплаты, где вы отправляете данные напрямую на сервер Heleket. Подходит для высоконагруженных систем.

  • Статические кошельки: Генерация уникального адреса для каждого клиента. Пример кода для QR-кода:

    const QRCode = require("qrcode"); const address = "0x789...xyz"; QRCode.toDataURL(`bitcoin:${address}?amount=0.001`, (err, url) => {     console.log(url); // Отобразите QR-код на сайте });
  • Инвойсы: Создание ссылок на оплату через API или личный кабинет. Полезно для разовых транзакций.

Дополнительные методы обеспечивают гибкость, но API остаётся самым мощным инструментом.

Полезные ссылки:


ссылка на оригинал статьи https://habr.com/ru/articles/900220/