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.
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
- WordPress admin β Plugins β Add New β Upload Plugin β
snapex-pay-for-woocommerce-1.0.1.zipβ Activate. (Or unzip intowp-content/plugins/.) - Open WooCommerce β Settings β Payments β SnapEX Pay (crypto).
- In the SnapEX Pay merchant cabinet create an API key with the
invoices.readandinvoices.writescopes and paste it into API key. - 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 thewhsec_β¦secret into Webhook secret. - Store currency other than USD: fill "USD for 1 <currency>", or use a currency plugin through the
snapexpay_wc_amount_usdfilter. Without either the method is hidden at checkout. - 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, Description | What the customer sees at checkout. |
|---|---|
| API key | From the SnapEX Pay cabinet. |
| Webhook secret | whsec_β¦ 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 by | Merchant: the customer pays exactly the order total. Customer: the fee is added on top. |
| Payment window, minutes | How 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 mode | Test 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.
Other integrations
Ready to accept crypto?
Create a merchant account, get an API key and connect the module. 1% per payment, no monthly fee.