Как подключить Binance Pay к чат-боту или сервису: пошаговая инструкция
13
Сентября
2024
Чтобы подключить Binance Pay к чат-боту или другому сервису, создайте в Binance Merchant Admin Portal пару ключей API Key и Secret Key и передайте их разработчику по защищённому каналу. Сервис подписывает ими запросы на создание платежей.
Коротко
- Нужен мерчант-аккаунт Binance Pay и доступ к Merchant Admin Portal.
- Ключи создаются в разделе для разработчиков: API Key (идентификатор) и Secret Key (секрет для подписи).
- Secret Key передавайте только через менеджер паролей или защищённое хранилище, в чат и почту — никогда.
- Кроме ключей, настройте адрес webhook: Binance Pay сообщает на него об оплате.
- Для оплаты заказов нужны ключи Binance Pay; ключи биржевого API из «Управления API» — для торговых ботов.
Что значит «расшарить» Binance Pay?
Так обычно говорят, когда нужно дать чат-боту, интернет-магазину или CRM право создавать счета на оплату в криптовалюте от имени вашего аккаунта. Технически это доступ к Binance Pay Merchant API. Сервис получает ваши ключи, формирует заказ, покупатель платит, а Binance Pay присылает сервису уведомление об оплате.
Различайте два типа ключей. Ключи биржевого API (Профиль → Управление API) дают доступ к торговле и балансу на бирже, их используют торговые боты. Для приёма платежей нужны ключи Binance Pay из мерчант-кабинета.
Что нужно до начала?
- Аккаунт Binance с пройденной верификацией.
- Регистрация мерчанта в Binance Merchant Admin Portal (merchant.binance.com). Требования к проверке мерчанта Binance задаёт сам и может менять их по странам, поэтому актуальный список документов смотрите при регистрации.
- Сервис, который умеет работать с Binance Pay API: готовая интеграция бота или платформы либо собственная разработка.
- Адрес на вашем сервере для уведомлений (webhook), доступный по HTTPS.
Как создать API-ключи Binance Pay: пошагово
- Откройте Merchant Admin Portal. Войдите на merchant.binance.com и перейдите в раздел для разработчиков (Developers).
- Создайте ключ. Нажмите «Generate API Key». Binance может запросить подтверждение через 2FA.
- Назовите ключ. Имя должно говорить, для какого сервиса он создан: «telegram-bot-shop», «site-checkout». Так ключ проще найти и отозвать.
- Сохраните пару ключей. Скопируйте API Key и Secret Key в менеджер паролей сразу после создания: секретный ключ повторно может быть недоступен.
- Передайте ключи сервису. Внесите их в настройки бота или платформы либо передайте разработчику через защищённое хранилище.
- Укажите webhook. Пропишите адрес для уведомлений об оплате в настройках мерчанта или в запросе на создание заказа — как требует ваша интеграция.
- Проведите тестовую оплату. Создайте заказ на минимальную сумму и проверьте всю цепочку: счёт, оплату, уведомление, смену статуса заказа в боте.
Как сервис использует ключи?
Запросы идут на https://bpay.binanceapi.com только по HTTPS, в формате JSON. В каждом запросе есть заголовки BinancePay-Timestamp (время в миллисекундах), BinancePay-Nonce (случайная строка из 32 символов), BinancePay-Certificate-SN (ваш API Key) и BinancePay-Signature. Подпись считается алгоритмом HMAC-SHA512 с Secret Key от строки из трёх частей: время, nonce и тело запроса, после каждой части стоит символ перевода строки (\n). Результат в шестнадцатеричном виде передаётся в верхнем регистре.
Время на сервере должно быть синхронизировано: расхождение с Binance больше допустимого приводит к ошибке подписи. Уведомления webhook тоже подписаны, и сервис обязан проверять подпись перед тем, как отметить заказ оплаченным. Иначе злоумышленник сможет прислать поддельное «оплачено».
Как хранить ключи безопасно?
- Secret Key держите в переменных окружения или хранилище секретов на сервере. В коде сайта, в браузере и в репозитории GitHub его быть не должно — это прямое требование документации Binance Pay.
- Для каждого сервиса — своя пара ключей. Отключили бота — удалили его ключ, остальные интеграции продолжают работать.
- При смене подрядчика или утечке удалите старый ключ в Merchant Admin Portal и выпустите новый.
- Ограничьте доступ к мерчант-кабинету: у кого есть вход, тот может создать новый ключ.
Типовые ошибки подключения
- Вставлены ключи биржевого API вместо ключей Binance Pay.
- В Secret Key попал пробел или перенос строки при копировании.
- Часы сервера отстают — запросы отклоняются из-за метки времени.
- Webhook недоступен снаружи или отдаёт ошибку, поэтому оплаты не подтверждаются в боте.
- Тело запроса при подписи и при отправке различается (лишние пробелы, другой порядок полей).
Налоговые и правовые вопросы приёма криптоплатежей уточняйте у юриста и бухгалтера в своей юрисдикции до запуска.
Кому поручить интеграцию?
Если бот уже поддерживает Binance Pay, хватит ключей и адреса webhook. Если нужна своя логика — счета, подписки, выдача доступа после оплаты, учёт в CRM, — это разработка. Мы делаем чат-боты для криптокомпаний с приёмом платежей и Telegram Mini Apps, где оплата встроена в интерфейс. Сроки считаем после ТЗ: они зависят от числа сценариев оплаты и интеграций.
Частые вопросы
Где взять API Key и Secret Key Binance Pay?
В Binance Merchant Admin Portal, в разделе для разработчиков. Для доступа нужен зарегистрированный мерчант-аккаунт Binance Pay; ключи биржевого API из профиля для приёма платежей не подходят.
Безопасно ли передавать Secret Key чат-боту?
Да, если сервису вы доверяете и ключ хранится на его сервере в защищённом хранилище секретов. Для каждого сервиса выпускайте отдельную пару ключей, чтобы при необходимости отозвать только её.
Почему Binance Pay возвращает ошибку подписи?
Чаще всего из-за неверного Secret Key, отставания часов сервера или различий в теле запроса между подписью и отправкой. Подпись считается HMAC-SHA512 и передаётся в верхнем регистре.
Зачем нужен webhook при подключении Binance Pay?
На этот адрес Binance Pay присылает уведомление об успешной оплате. По нему бот или сайт меняет статус заказа, поэтому адрес должен работать по HTTPS и проверять подпись уведомления.
Как отключить сервис от Binance Pay?
Удалите его API-ключ в Merchant Admin Portal. Запросы с этим ключом перестанут приниматься, а другие интеграции с отдельными ключами продолжат работать.
Нужен чат-бот или Mini App с приёмом оплаты через Binance Pay? Опишите сценарий — оценим интеграцию после ТЗ.
Обсудить чат-бот с оплатойTelegramWhatsApp
Связаться с нами
И ответим на все интересующие Вас вопросы.

Комментарии
Написать комментарий