EN
VPN panels

Crypto payments for Xboard and V2Board

A payment plugin for the Xboard and V2Board VPN and proxy panels. At checkout the customer goes to the SnapEX Pay page, pays in USDT on TRC20, ERC20 or BEP20 (or another method SnapEX offers for that amount), and the order opens automatically after a signed webhook. No wallet, node or self-hosted gateway to run; funds land in your SnapEX Pay merchant balance.

Download the module

Free. Version 1.1.0.

What it does

  • Native Xboard plugin (installable from the admin plugin manager) plus a drop-in app/Payments/SnapexPay.php class for V2Board and older Xboard releases.
  • Correct money units: panel totals in cents are sent as a decimal USD amount, with an optional rate for non-USD shops.
  • Signed webhooks (HMAC-SHA256, 5-minute window); the invoice is re-read from the SnapEX Pay API and the order is paid only when the status is paid.
  • A repeated click on Pay reuses the same invoice; if it has expired, a fresh one opens for the same order. Test invoices can never open an order while the method is live.
  • The payment window is capped below the panel's own order timeout, so a customer cannot pay an order the panel already cancelled. Plain PHP and cURL, no extra dependencies.

Install

  1. Xboard: admin β†’ Plugins β†’ upload the downloaded ZIP β†’ Install β†’ Enable "SnapEX Pay". (Or unpack it and put the folder into the panel as plugins/Snapexpay/ β€” the name is case-sensitive β€” then install it from Plugins.)
  2. V2Board or older Xboard: copy app/Payments/SnapexPay.php from the archive into the panel and restart PHP-FPM or Octane if you use OPcache; in V2Board make sure Site URL (app_url) is set.
  3. Payment configuration β†’ Add payment method β†’ gateway SnapexPay. Paste the API key (scopes invoices.read, invoices.write) from the SnapEX Pay cabinet.
  4. Copy the notify URL the panel shows for this method, add it as a webhook endpoint in the SnapEX Pay cabinet and paste its whsec_… secret into Webhook secret.
  5. If prices are not in USD, set "USD per 1 shop currency" (for example 0.14 for CNY). Save and test a payment.

Settings

API keySnapEX Pay cabinet β†’ API keys, scopes invoices.read and invoices.write.
Webhook secretThe whsec_… secret of the webhook endpoint. Without a valid signature no order is paid.
Network fee paid bymerchant: the customer pays exactly the order total. customer: the network fee is added on top.
Payment window, minutesXboard default 60 (max 120), V2Board default 20 (max 30) β€” below the panels' own order timeouts.
USD per 1 shop currency1 for USD prices; for example 0.14 for CNY.

Questions

Does it work with V2Board?

Yes. Xboard gets a native plugin; V2Board and older Xboard releases use the drop-in app/Payments/SnapexPay.php class with the same settings.

My prices are in CNY or another currency.

Set "USD per 1 shop currency": the amount is total / 100 Γ— usd_rate, for example 0.14 for CNY.

What if the customer clicks Pay twice?

The same invoice is reused; if it has expired, a fresh one is opened for the same order.

Why is the payment window limited?

Xboard cancels unpaid orders after 2 hours and V2Board after 30 minutes, so the window is capped below that and a customer cannot pay a cancelled order.

Why do I need HTTPS?

SnapEX Pay delivers webhooks only to public HTTPS URLs, and the order opens on the webhook.

Ready to accept crypto?

Create a merchant account, get an API key and connect the module. 1% per payment, no monthly fee.