ZH
主机计费系统

FOSSBilling 加密货币支付

适用于 FOSSBilling 的支付适配器,让客户通过 SnapEX Pay 使用 USDT(TRC20、ERC20、BEP20)和其他币种支付账单。客户在账单上选择 SnapEX Pay 时,适配器会创建 SnapEX Pay 账单并显示前往支付页面的按钮(如果 FOSSBilling 要求,则直接跳转)。付款确认后,签名 Webhook 到达 FOSSBilling 的 IPN URL,客户获得入账,账单被标记为已支付。

下载模块

免费。版本 1.2.0。

功能

  • 无需运行钱包、节点或区块链监听程序:资金进入您的 SnapEX Pay 商户余额。
  • 单文件适配器,显示在 System → Payment gateways 中。
  • Webhook 通过 HMAC-SHA256 和 5 分钟窗口校验,入账前会从 SnapEX Pay API 读取账单。
  • 付款只记账一次:重复的 Webhook 不会再次为客户入账,数据库支持时结算在数据库锁下执行。如果结账后账单总额发生变化,则不会自动入账。
  • FOSSBilling 的 Enable Test Mode 会创建无需真实资金的 SnapEX Pay 测试账单;网关处于正式模式时,测试付款永不生效。
  • 每个 FOSSBilling 站点只结算自己创建的账单;非 USD 账单按固定汇率或 FOSSBilling 自身的汇率换算。

安装

  1. 从压缩包中将 SnapexPay.php 复制到 FOSSBilling 根目录,使其位于 library/Payment/Adapter/SnapexPay/SnapexPay.php(文件夹和文件名区分大小写),并确保 Web 服务器用户可读。
  2. 在后台进入 System → Payment gateways → New payment gateway,安装 SnapexPay。
  3. 打开该网关,填入来自 SnapEX Pay 后台的 API 密钥(权限 invoices.read、invoices.write),勾选 Enabled 和 Allow One Time Payments,然后保存。
  4. 复制网关页面上显示的 IPN Callback URL(https://<your-fossbilling>/ipn.php?gateway_id=<id>),在 SnapEX Pay 后台(Developers)将其设为 Webhook URL,并将 whsec_… 密钥(仅在首次保存 URL 时显示一次)填入 Webhook secret。
  5. 开启 Enable Test Mode,支付一张账单并在 SnapEX Pay 页面确认测试付款;账单应变为 Paid。然后关闭测试模式。

设置

API key来自 SnapEX Pay 后台 → API keys,权限 invoices.read 和 invoices.write。
Webhook secretWebhook 端点的 whsec_… 密钥。未签名或签名错误的 Webhook 会被拒绝。
Network fee paid bymerchant:客户支付账单金额,手续费从您的到账金额中扣除。customer:SnapEX Pay 手续费和网络费用加在其上。
Payment window, minutes1–1440,默认 60。
USD per 1 unit of invoice currencyUSD 账单忽略此项。其他币种填写固定汇率,或留空以使用 FOSSBilling 自身的汇率(System → Currencies 中必须有 USD)。
Enable Test ModeFOSSBilling 自带的开关:开 — SnapEX Pay 测试账单,关 — 正式账单。
Partner ID可选:为您配置此模块的集成商的 Partner ID(SnapEX Pay 推荐计划)。如果是您自己安装,请留空。
API URL留空。

常见问题

支持哪些 FOSSBilling 版本?

FOSSBilling 0.8.x 以及当前的开发版本。

New payment gateway 中没有 SnapexPay。

检查相对于 ipn.php 所在目录的路径 library/Payment/Adapter/SnapexPay/SnapexPay.php(区分大小写),以及 Web 服务器能否读取该文件。

客户已付款,但账单仍未支付。

打开 Invoices → Transactions。如果没有交易,请在 SnapEX Pay 后台检查 Webhook 投递情况,以及 URL 是否包含 ?gateway_id=。修复原因后,可以在后台重新处理该交易。

交易显示 "partially paid"、"already paid" 或 "total changed"。

这些情况永远不会自动入账。请在 SnapEX Pay 后台检查付款,然后手动添加余额或将账单标记为已支付。

多个 FOSSBilling 站点可以共用一个 SnapEX Pay 账户吗?

每个站点只结算自己的账单,但一个 SnapEX Pay 账户只有一个 Webhook URL,而适配器只通过 Webhook 确认付款。因此只有 IPN URL 被设为 Webhook 的站点能自动确认付款。

准备好接收加密货币了吗?

创建商户账户,获取 API 密钥并连接模块。每笔支付 1%,无月费。