Криптоплатежи для Blesta
Приём криптовалюты по счетам Blesta. SnapEX Pay — non-merchant шлюз: клиент выбирает SnapEX Pay (Crypto), платит на странице SnapEX Pay в USDT в сетях TRON, Ethereum, BSC и других или в других монетах с конвертацией в USDT, и платёж записывается в Blesta и зачитывается по счетам автоматически.
Бесплатно. Версия 1.0.0.
Что умеет модуль
- Не нужно держать кошельки и ноды: деньги приходят на баланс мерчанта SnapEX Pay.
- Платёж записывается по подписанному вебхуку или сразу, как клиент вернётся на страницу «платёж получен», — что случится раньше. В обоих случаях счёт сначала перечитывается из API SnapEX Pay: одно тело вебхука ничего не отмечает оплаченным, и платёж никогда не записывается дважды.
- Любая валюта счёта: суммы не в USD пересчитываются в USD по курсам, которые уже ведёт Blesta, а транзакция записывается в валюте счёта.
- Частичные платежи автоматически не зачитываются: они становятся транзакцией в статусе pending на вашу проверку.
- Тестовый режим: тестовые счета подтверждаются сами, без реальных денег; пока он включён, кнопку видят только сотрудники, вошедшие под клиентом, а остальным клиентам предлагается выбрать другой способ оплаты.
Установка
- Загрузите содержимое архива в корень Blesta с сохранением пути
components/gateways/nonmerchant/snapex_pay/. - В админке Blesta откройте Settings → Payment Gateways → Available, найдите SnapEX Pay (Crypto) и нажмите Install. Установка создаёт одну таблицу —
snapex_pay_invoices. - В кабинете мерчанта SnapEX Pay создайте API-ключ с правами
invoices.readиinvoices.writeи вставьте его в поле API key. - Вебхук (обязательно): в кабинете добавьте вебхук с адресом
https://<ваш Blesta>/callback/gw/<id компании>/snapex_pay/(точный адрес показан в настройках шлюза) и вставьте секретwhsec_…в поле Webhook secret. У Blesta нет cron для шлюзов, поэтому платёж, после которого клиент не вернулся на сайт, приходит именно вебхуком. - Если счета не в USD, добавьте USD в Settings → Company → Currencies с курсом (или включите автообновление курсов в Blesta). Отметьте валюты, для которых нужно предлагать шлюз.
- Включите Test mode, войдите в клиентскую часть под клиентом из админки, оплатите счёт тестовым методом на странице SnapEX Pay и проверьте, что счёт оплачен. Затем выключите тестовый режим.
Настройки
| API key | Из кабинета SnapEX Pay. Хранится в зашифрованном виде. |
|---|---|
| Webhook secret | whsec_… из настроек вебхука в кабинете. Обязательно. Хранится в зашифрованном виде. |
| Network fee paid by | Merchant — клиент платит ровно сумму счёта. Client — комиссия добавляется сверху. |
| Payment window, minutes | Сколько действует страница оплаты (1–1440, по умолчанию 60). Повторная оплата позже откроет новую. |
| Test mode | Тестовые счета; пока режим включён, кнопку видят только сотрудники. После выключения тестовые платежи игнорируются. |
| Partner ID | Необязательно: Partner ID интегратора, который настроил модуль (реферальная программа SnapEX Pay). Оставьте пустым, если ставите сами. |
| API URL | Оставьте как есть. |
Вопросы
Зачем обязателен вебхук?
У Blesta нет cron для шлюзов. Если клиент заплатил и не вернулся на сайт, платёж попадает в Blesta через подписанный вебхук. Если клиент вернулся, платёж записывается сразу и никогда не записывается дважды.
Счета не в USD — заработает?
Да. Добавьте USD в Settings → Company → Currencies с курсом. Суммы пересчитываются по курсам Blesta, а транзакция записывается в валюте счёта.
Что появляется в Blesta при оплате?
Одобренная (approved) транзакция в валюте счёта, зачтённая по оплаченным счетам. Номер транзакции — ID счёта SnapEX Pay (INV-…), клиент получает обычное письмо Blesta о полученном платеже.
Что если клиент заплатил меньше суммы счёта?
Если клиент не доплатит вовремя, записывается транзакция в статусе pending с полученной суммой в сообщении, и она не зачитывается. Проверьте её в транзакциях клиента.
Что если страница оплаты истекла без оплаты?
Ничего не записывается. Если деньги пришли уже после закрытия счёта, в лог шлюза пишется запись; деньги лежат на вашем балансе SnapEX Pay.
Где посмотреть, что сделал модуль?
В Blesta: Tools → Logs → Gateway.
Другие интеграции
Готовы принимать крипту?
Создайте аккаунт мерчанта, получите API-ключ и подключите модуль. 1% с платежа, без абонентской платы.