RU
Биллинг хостинга

Криптоплатежи для Paymenter

Расширение-шлюз для Paymenter — открытой биллинг-панели для хостинга. Клиент выбирает SnapEX Pay в неоплаченном счёте и платит в USDT в TRC20, ERC20 или BEP20 или другими монетами, доступными на странице SnapEX Pay. Подписанный вебхук записывает платёж, и счёт Paymenter становится Paid.

Скачать модуль

Бесплатно. Версия 1.1.0.

Что умеет модуль

  • Нативное расширение-шлюз Paymenter v1, появляется в Admin → Gateways.
  • Вебхуки проверяются по HMAC-SHA256 с окном 5 минут, а перед записью платежа счёт перечитывается из API SnapEX Pay.
  • Платёж записывается один раз: повторный вебхук не добавляет вторую транзакцию. Зачисляется ровно выставленная сумма в валюте счёта.
  • Каждый сайт Paymenter проводит только свои счета (они помечены хешем APP_URL).
  • Тестовый режим — тестовые счета без реальных денег; тестовые платежи игнорируются, пока шлюз в боевом режиме. Фиксированный курс USD для магазинов, которые выставляют счета не в USD.

Установка

  1. Распакуйте архив и положите его папку в Paymenter как extensions/Gateways/SnapexPay/ (внутри — SnapexPay.php и routes.php; имя должно совпадать с именем класса). В Docker-образе — /app/extensions/Gateways/SnapexPay.
  2. Если шлюз не появился — выполните composer dump-autoload -o и php artisan optimize:clear.
  3. В Paymenter откройте Admin → Gateways → New, выберите SnapEX Pay и вставьте API-ключ (права invoices.read, invoices.write) из кабинета SnapEX Pay.
  4. В кабинете → Developers укажите адрес вебхука https://<ваш-paymenter>/extensions/snapexpay/webhook и вставьте секрет whsec_… (он показывается один раз — при первом сохранении адреса) в Webhook secret.
  5. Поставьте Environment = test, оплатите счёт и подтвердите тестовый платёж на странице SnapEX Pay — счёт должен стать Paid. Затем верните live.

Настройки

API keyКабинет SnapEX Pay → API keys, права invoices.read и invoices.write.
Webhook secretСекрет whsec_… вебхука. Неподписанные и неверно подписанные вебхуки отклоняются.
Network fee paid bymerchant — клиент платит сумму счёта, комиссия удерживается из поступления. customer — комиссия SnapEX Pay и комиссия сети добавляются сверху.
Payment window, minutes1–1440, по умолчанию 60.
USD per 1 invoice currency1, если Paymenter выставляет счета в USD; для EUR по 1.08 USD — 1.08.
Environmentlive или test.
Partner IDНеобязательно: Partner ID интегратора, который настроил модуль (реферальная программа SnapEX Pay). Оставьте пустым, если ставите сами.
API URLОставьте как есть.

Вопросы

Шлюза нет в Admin → Gateways.

Проверьте путь extensions/Gateways/SnapexPay/SnapexPay.php (регистр важен) и права на чтение, затем выполните composer dump-autoload -o && php artisan optimize:clear.

Клиент заплатил, а счёт не оплачен.

Проверьте доставку вебхуков в кабинете SnapEX Pay. 400 invalid signature — не совпадает секрет или сбиты часы сервера; not_paid — в тот момент платёж ещё не был подтверждён, счёт проведётся, когда придёт вебхук invoice.paid.

Клиент заплатил меньше суммы счёта.

Частично оплаченные счета автоматически не зачисляются. Проверьте платёж в кабинете SnapEX Pay и добавьте транзакцию в Paymenter вручную.

Можно подключить несколько сайтов Paymenter к одному аккаунту?

Каждый сайт проводит только свои счета (они помечены хешем APP_URL), но у аккаунта SnapEX Pay один адрес вебхука, а расширение записывает платежи только по вебхуку. Поэтому автоматически платежи записываются только на сайте, указанном как вебхук.

Готовы принимать крипту?

Создайте аккаунт мерчанта, получите API-ключ и подключите модуль. 1% с платежа, без абонентской платы.