Криптоплатежи для 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.
Установка
- Распакуйте архив и положите его папку в Paymenter как
extensions/Gateways/SnapexPay/(внутри —SnapexPay.phpиroutes.php; имя должно совпадать с именем класса). В Docker-образе —/app/extensions/Gateways/SnapexPay. - Если шлюз не появился — выполните
composer dump-autoload -oиphp artisan optimize:clear. - В Paymenter откройте Admin → Gateways → New, выберите SnapEX Pay и вставьте API-ключ (права
invoices.read,invoices.write) из кабинета SnapEX Pay. - В кабинете → Developers укажите адрес вебхука
https://<ваш-paymenter>/extensions/snapexpay/webhookи вставьте секретwhsec_…(он показывается один раз — при первом сохранении адреса) в Webhook secret. - Поставьте Environment =
test, оплатите счёт и подтвердите тестовый платёж на странице SnapEX Pay — счёт должен стать Paid. Затем вернитеlive.
Настройки
| API key | Кабинет SnapEX Pay → API keys, права invoices.read и invoices.write. |
|---|---|
| Webhook secret | Секрет whsec_… вебхука. Неподписанные и неверно подписанные вебхуки отклоняются. |
| Network fee paid by | merchant — клиент платит сумму счёта, комиссия удерживается из поступления. customer — комиссия SnapEX Pay и комиссия сети добавляются сверху. |
| Payment window, minutes | 1–1440, по умолчанию 60. |
| USD per 1 invoice currency | 1, если Paymenter выставляет счета в USD; для EUR по 1.08 USD — 1.08. |
| Environment | live или 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% с платежа, без абонентской платы.