Криптоплатежи для FOSSBilling
Платёжный адаптер для FOSSBilling: клиенты оплачивают счета в USDT (TRC20, ERC20, BEP20) и других монетах через SnapEX Pay. Когда клиент выбирает SnapEX Pay в счёте, адаптер создаёт счёт SnapEX Pay и отправляет клиента на страницу оплаты. После подтверждения оплаты на IPN-адрес FOSSBilling приходит подписанный вебхук, клиенту зачисляются деньги и счёт отмечается оплаченным.
Бесплатно. Версия 1.1.0.
Что умеет модуль
- Не нужно держать кошелёк, ноду или наблюдение за блокчейном: деньги приходят на баланс мерчанта SnapEX Pay.
- Адаптер из одного файла, появляется в System → Payment gateways.
- Вебхуки проверяются по HMAC-SHA256 с окном 5 минут, а перед зачислением счёт перечитывается из API SnapEX Pay.
- Платёж проводится один раз: повторный вебхук не зачисляет деньги снова, проведение идёт под блокировкой в базе. Если сумма счёта изменилась после оплаты, автоматически ничего не зачисляется.
- Переключатель Enable Test Mode в FOSSBilling создаёт тестовые счета SnapEX Pay без реальных денег; тестовые платежи не применяются, пока шлюз в боевом режиме.
- Несколько сайтов FOSSBilling могут работать с одним аккаунтом SnapEX Pay; счета не в USD пересчитываются по фиксированному курсу или по курсам валют FOSSBilling.
Установка
- Скопируйте
SnapexPay.phpиз архива в корень FOSSBilling так, чтобы получилосьlibrary/Payment/Adapter/SnapexPay/SnapexPay.php(регистр имён важен), и дайте веб-серверу право на чтение. - В админке откройте System → Payment gateways → New payment gateway и установите SnapexPay.
- Откройте шлюз, вставьте API-ключ (права
invoices.read,invoices.write) из кабинета SnapEX Pay, включите Enabled и Allow One Time Payments, сохраните. - Скопируйте IPN Callback URL со страницы шлюза (
https://<ваш-fossbilling>/ipn.php?gateway_id=<id>), добавьте его как вебхук в кабинете SnapEX Pay с событиемinvoice.paidи вставьте секретwhsec_…в Webhook secret. - Включите Enable Test Mode, оплатите счёт и подтвердите тестовый платёж на странице SnapEX Pay — счёт должен стать Paid. Затем выключите тестовый режим.
Настройки
| API key | Кабинет SnapEX Pay → API keys, права invoices.read и invoices.write. |
|---|---|
| Webhook secret | Секрет whsec_… вебхука. Неподписанные и неверно подписанные вебхуки отклоняются. |
| Network fee paid by | merchant — клиент платит сумму счёта. customer — комиссия сети добавляется сверху. |
| Payment window, minutes | 1–1440, по умолчанию 60. |
| USD per 1 unit of invoice currency | Для счетов в USD не нужен. Для других валют — фиксированный курс или пусто, тогда берутся курсы FOSSBilling (USD должен быть в System → Currencies). |
| Enable Test Mode | Переключатель самого FOSSBilling: вкл. — тестовые счета SnapEX Pay, выкл. — боевые. |
Вопросы
Какие версии FOSSBilling поддерживаются?
FOSSBilling 0.8.x и текущие сборки для разработчиков.
SnapexPay нет в списке New payment gateway.
Проверьте путь library/Payment/Adapter/SnapexPay/SnapexPay.php (регистр важен) относительно папки с ipn.php и что веб-сервер может прочитать файл.
Клиент заплатил, а счёт не оплачен.
Откройте Invoices → Transactions. Если транзакции нет — проверьте доставку вебхуков в кабинете SnapEX Pay и что в адресе есть ?gateway_id=. После исправления транзакцию можно провести заново из админки.
Транзакция с пометкой «partially paid», «already paid» или «total changed».
Такие платежи автоматически не зачисляются. Проверьте платёж в кабинете SnapEX Pay и зачислите деньги или отметьте счёт оплаченным вручную.
Можно подключить несколько сайтов FOSSBilling к одному аккаунту?
Да. Каждый сайт проводит только свои счета.
Другие интеграции
Готовы принимать крипту?
Создайте аккаунт мерчанта, получите API-ключ и подключите модуль. 1% с платежа, без абонентской платы.