GSMOnePay DemosDocsHome
REST API

Any other platform

Shopify, GSMHub, WHMCS, something bespoke — if it can make an HTTPS request and receive one, it can take payments through GSMOnePay.

There is no pre-built plugin for these platforms yet.

Nothing is missing though: this is the very same REST API the WebX and GSMTheme plugins call internally. It is simply wired by hand. Budget around 40 lines of server code.

The whole flow

  1. Your server signs and POSTs to /api/v2/checkout/sessions.
  2. You redirect the customer to the checkout_url you get back.
  3. We POST a signed webhook to your server once the payment confirms.
  4. You verify the signature, check the amount, and credit the order.

Creating the session

$timestamp = (string) time();
$signature = hash_hmac(
    'sha256',
    $timestamp . '.' . $merchantId . '.' . $email . '.' . $amount,
    $secret
);
// POST to /api/v2/checkout/sessions with
//   X-Checkout-Timestamp: $timestamp
//   X-Checkout-Signature: $signature

Complete working PHP and Python — including the amount-formatting rule that trips people up — is in the integration guide.

Three checks in your webhook before you credit anyone.

Verify the signature with a constant-time comparison, confirm the paid amount matches what you charged, and make crediting idempotent so a retried delivery cannot pay out twice.

Try a real checkout

This opens a genuine GSMOnePay checkout session — signed server-side, exactly like the one your integration would create. Nothing here is simulated.

This is a live payment page for 1 USDT. Look around freely — QR code, amount, countdown, copy buttons. Only complete the transfer if you actually want to: it is real cryptocurrency and it goes to the GSMOnePay platform wallet.