WordPress and WooCommerce
Take payment in Bitcoin and stablecoins on a WordPress site or a WooCommerce store.
The Gyvar Payments plugin does two things. On a WooCommerce store it adds Bitcoin and stablecoins as a payment method at checkout. On any WordPress site it adds a Pay button that opens one of your payment links.
You need a Gyvar account. Use whichever half you need; neither depends on the other.
Download
In WordPress, go to Plugins > Add New > Upload Plugin, choose the zip and activate it. The plugin's settings are under Settings > Gyvar Payments.
To update, upload the newer zip the same way and choose Replace current with uploaded. Your settings and key are kept.
WooCommerce
A store does not need a payment link. The plugin creates a Gyvar order for each checkout, for that order's total, and sends the buyer to pay it.
- Create a key. On Settings > Gyvar Payments, press Generate keypair. Copy the public key it shows into Developers > API keys in your Gyvar dashboard, with Read and Receive only. Paste the key id it gives you back into the plugin and save. Test connection confirms it works.
- Register your shop's address. In your Gyvar dashboard, under
Settings > Payment links > Return addresses for store orders, add your shop's
address, for example
https://shop.example.com. Orders are refused until you do. - Add the webhook. Copy the Endpoint URL from the plugin's settings into
Developers > Webhooks in your Gyvar dashboard. Paste the signing secret it shows
you (
whsec_...) back into the plugin. - Turn it on. Under WooCommerce > Settings > Payments, enable Gyvar.
The order is marked paid when the webhook arrives, not when the buyer comes back to your site, so a closed tab still completes the order. Both the classic and the block checkout are supported.
Never grant Send money
A store key needs Read and Receive. Without Send money, a copy of the key taken from your site's database cannot move anything out of your balance. A Read and Receive key does not need an IP allowlist.
A new order waits On hold while the buyer pays. After that, only the webhook moves it.
| What happens on Gyvar | WooCommerce order |
|---|---|
| Paid | Processing. |
| Paid after it expired | Processing, even if it was already cancelled. Check your stock. |
| Expired or cancelled | Cancelled. |
| Paid short, and you decline it in Gyvar | Failed. The amount received is still in your balance. |
| Paid short, waiting for your decision | Stays On hold. |
| Refunded | Unchanged. Refund it in WooCommerce yourself. |
A paid order is never moved back to unpaid.
Pay button
The Pay button opens one of your payment links. It needs no API key.
- Create a payment link in your Gyvar dashboard.
- Add the Gyvar Pay Button block to a page and enter the link's slug, or use the shortcode:
[gyvar_pay slug="your-slug"]To be told on your site when a payment completes, add the webhook as in step 3 above.
Test mode
Set Mode to Test on the plugin's settings and use a sandbox key. No real money moves. See Sandbox.
If something fails
return_origin_not_registered- your shop's address is not in the return addresses list. See step 2.capability_required- the key is missing Receive.- Orders stay pending after payment - the webhook is not arriving. The plugin's settings list every delivery it received and whether its signature checked out.