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
- Create a Manatee account.
- Get a testnet API key.
- Install or connect the WooCommerce payment gateway plugin when the plugin beta is available.
- Enter the testnet API key in plugin settings.
- Configure webhook handling and order status mapping.
- Create a test order and pay with testnet BTC.
- Confirm that WooCommerce updates the order after
payment.confirmed. - Switch to mainnet only after the full test flow works.
Payment flow
- Customer chooses Bitcoin at checkout.
- The plugin creates a Manatee payment for the WooCommerce order.
- The checkout shows a Bitcoin address, amount, and expiry time.
- Manatee detects the transaction and sends
payment.detected. - Manatee tracks confirmations and sends
payment.confirmed. - The plugin verifies the signature and updates the WooCommerce order.
Order status mapping
| Store label | Manatee signal | Meaning |
|---|---|---|
| Waiting for payment | pending | No matching transaction has been detected yet. |
| Seen in mempool | detected | A matching transaction was seen. |
| Confirming | detected with confirmations below threshold | Payment exists but is not final enough for fulfillment. |
| Paid | confirmed | Payment reached the configured confirmation count. |
| Underpaid | received_sats below expected amount | Store policy decides whether to wait, expire, or review manually. |
| Overpaid | received_sats above expected amount | Store policy decides how to handle the difference. |
| Expired | expired | The 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.