Skip to main content

WooCommerce Setup

The WooCommerce integration is designed to let store owners accept on-chain Bitcoin without giving custody of funds to a third party.

The plugin beta flow should keep WooCommerce as the order system while Manatee monitors Bitcoin payments and sends signed status events.

Setup flow

  1. Create a Manatee account.
  2. Get a testnet API key.
  3. Install or connect the WooCommerce payment gateway plugin when the plugin beta is available.
  4. Enter the testnet API key in plugin settings.
  5. Configure webhook handling and order status mapping.
  6. Create a test order and pay with testnet BTC.
  7. Confirm that WooCommerce updates the order after payment.confirmed.
  8. Switch to mainnet only after the full test flow works.

Payment flow

  1. Customer chooses Bitcoin at checkout.
  2. The plugin creates a Manatee payment for the WooCommerce order.
  3. The checkout shows a Bitcoin address, amount, and expiry time.
  4. Manatee detects the transaction and sends payment.detected.
  5. Manatee tracks confirmations and sends payment.confirmed.
  6. The plugin verifies the signature and updates the WooCommerce order.

Order status mapping

Store labelManatee signalMeaning
Waiting for paymentpendingNo matching transaction has been detected yet.
Seen in mempooldetectedA matching transaction was seen.
Confirmingdetected with confirmations below thresholdPayment exists but is not final enough for fulfillment.
PaidconfirmedPayment reached the configured confirmation count.
Underpaidreceived_sats below expected amountStore policy decides whether to wait, expire, or review manually.
Overpaidreceived_sats above expected amountStore policy decides how to handle the difference.
ExpiredexpiredThe checkout expired before a matching transaction was detected.

Underpayment and overpayment are not separate Manatee lifecycle statuses. They are plugin/store reconciliation cases based on amount fields.

Test mode

Use testnet before going live. Test mode should validate:

  • API key connectivity
  • payment creation
  • checkout display
  • webhook reachability
  • webhook signature verification
  • order status updates
  • expiry behavior

Plugin cannot connect

If the plugin cannot connect:

  • Confirm the API key is copied exactly.
  • Confirm the plugin is using the right network mode.
  • Check that the backend can reach the Manatee API.
  • Confirm the webhook endpoint is publicly reachable.
  • Check whether the API key was rotated or revoked.
  • Test the webhook route with Send a test webhook.

For the public WooCommerce landing page, see WooCommerce Bitcoin Payment Gateway.