AR
Online stores

Crypto payments for WooCommerce

Accept crypto in WooCommerce. The customer picks Crypto at checkout, pays on the SnapEX Pay page in USDT on TRON, Ethereum, BSC and other networks, or in other coins converted to USDT, and the order becomes Processing automatically.

Download the module

Free. Version 1.0.1.

What it does

  • No wallets or nodes to run: funds arrive in your SnapEX Pay merchant balance.
  • Works with both the Checkout block and the classic [woocommerce_checkout] page, and with "Pay for order" links. Compatible with HPOS (custom order tables) and legacy order storage.
  • Three independent ways an order gets marked paid: the signed webhook, the customer returning from the payment page and a check every 5 minutes (WP-Cron). A lost webhook never leaves a paid order unpaid, and an order is never completed twice.
  • The amount is always re-read from the SnapEX Pay API; the webhook body alone never marks anything paid.
  • Partial payments and payments arriving after an order was cancelled put the order On hold for review.
  • Test mode: test invoices confirm by themselves without real money; only shop managers see the method while it is on.

Install

  1. WordPress admin → Plugins → Add New → Upload Plugin → snapex-pay-for-woocommerce-1.0.1.zip → Activate. (Or unzip into wp-content/plugins/.)
  2. Open WooCommerce → Settings → Payments → SnapEX Pay (crypto).
  3. In the SnapEX Pay merchant cabinet create an API key with the invoices.read and invoices.write scopes and paste it into API key.
  4. Webhook (recommended): in the cabinet set the webhook URL to https://<your shop>/wc-api/snapexpay_webhook/ (the exact address is shown under the field) and paste the whsec_… secret into Webhook secret.
  5. Store currency other than USD: fill "USD for 1 <currency>", or use a currency plugin through the snapexpay_wc_amount_usd filter. Without either the method is hidden at checkout.
  6. Turn on Test mode, place an order as admin, pay it on the SnapEX Pay page with a test method and check it becomes Processing. Then turn test mode off.

Settings

Title, DescriptionWhat the customer sees at checkout.
API keyFrom the SnapEX Pay cabinet.
Webhook secretwhsec_… from the cabinet webhook settings. Without it orders are still marked paid when the customer returns and by the 5-minute check.
Network fee paid byMerchant: the customer pays exactly the order total. Customer: the fee is added on top.
Payment window, minutesHow long the payment page stays valid (1–1440, default 60). "Pay for order" later opens a fresh one.
USD for 1 …Only when the store currency is not USD: the conversion rate for SnapEX Pay invoices.
Test modeTest invoices, shop managers only. Test payments are never applied once it is off.

Questions

Which currencies can the store use?

SnapEX Pay invoices are in USD. USD stores work as is; for other currencies set the rate in the settings or convert with the snapexpay_wc_amount_usd filter.

Does it work with the new Checkout block?

Yes: the Checkout block, the classic checkout page and "Pay for order" links. It is compatible with HPOS and legacy order storage.

What happens after a successful payment?

WooCommerce's payment_complete() runs: the order becomes Processing (or Completed for virtual or downloadable goods), stock is reduced and the usual emails go out. The transaction ID is the SnapEX Pay invoice ID.

What if the customer sends less than the order total?

If the customer does not top up in time, the order goes On hold with a note to review it in the SnapEX Pay cabinet.

Can I refund from WooCommerce?

No. Refunds are made from the SnapEX Pay cabinet.

What data does the plugin send?

To create an invoice it sends the order amount in USD, the order ID, the shop name and order number, the return and cancel URLs and the payment settings. No customer name, e-mail, address or IP address is sent.

Ready to accept crypto?

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