Gyvar docs

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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 GyvarWooCommerce order
PaidProcessing.
Paid after it expiredProcessing, even if it was already cancelled. Check your stock.
Expired or cancelledCancelled.
Paid short, and you decline it in GyvarFailed. The amount received is still in your balance.
Paid short, waiting for your decisionStays On hold.
RefundedUnchanged. 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.

  1. Create a payment link in your Gyvar dashboard.
  2. 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.

On this page