A free plugin that connects your store to GoBTC Pay. Your customer pays in Bitcoin, the order updates itself.
The payment reports as paid in one step. The order is marked paid and moves straight to a state that allows fulfilment — Processing, or Completed for an order that needs no shipping. There is no waiting period.
The payment is an ordinary on-chain transfer. The order is held On hold while it waits for network confirmation and moves to a state that allows fulfilment once the payment is confirmed on-chain — typically in about 10 to 30 minutes, longer when the Bitcoin network is congested. An On-hold order from an external payment is a normal, expected state, not a fault.
Every payment has a payment window, and while it is open the customer pays as usual. An order is usually On hold for one of two reasons:
If nothing arrives before the grace period ends, the order is cancelled. WooCommerce then restores the stock and sends its own cancellation e-mail, and neither is undone if the money turns up later.
Works with both the classic checkout and the Cart and Checkout Blocks. Without https the customer is not sent back to your store automatically after paying; payment status still syncs and orders are still completed.
The plugin folder is gobtc-pay-for-woocommerce, and a release archive is named gobtc-pay-for-woocommerce-<version>.zip.
Installed version 1.0.0 by hand from a release zip? Version 1.1.0 renamed the folder, so the old one stays behind as a separate, still-active plugin. Deactivate and delete it — the new copy will tell you if you forget. Your settings and existing orders are unaffected.
Never let a copy run with the live secret key. Before the copy is first opened, not after, do one of two things on it: deactivate the plugin, or save a separate key over the live one. Emptying the secret API key field does not remove the stored key — a blank field means “keep the current value” — and turning the payment method off does not stop the plugin talking to GoBTC Pay either.
The key is not read-only. A copy carries the same orders and the same payment identifiers, and the plugin asks GoBTC Pay to cancel a payment whenever its order is cancelled or its total has changed. Cancelling an order on the copy, or letting it expire there, cancels the real payment of a real customer — and nothing on the copy looks wrong while this happens.
Once the key is dealt with, delete the plugin's site identifier on the copy: the gobtc_pay_site_id option. The plugin creates a new one by itself. The current value is shown as “Installation identifier” at the bottom of the payment method's settings screen, which is how you tell the copy from the original once you have done this.