Source: https://fincobra.com/docs/checkout/woocommerce.html


# WooCommerce

The FinCobra WooCommerce plugin adds BTC, USDT, and USDC as a payment option in
your store. Checkout happens on FinCobra's hosted payment page, and confirmed
payments update the matching WooCommerce order automatically.

Payments settle directly to the wallet configured in your FinCobra account.

## Requirements

- WordPress 6.6 or later and WooCommerce 9.0 or later. Current WooCommerce 11
  requires WordPress 6.9 or later.
- A WordPress site with WooCommerce already active.
- A WooCommerce store using USD as its store currency.
- A FinCobra account with at least one supported receiving wallet.
- Either the **Annual** or **Commission** WooCommerce plan.
- HTTPS on the public store.

The first release supports normal product purchases through classic checkout
and WooCommerce Checkout Blocks. It does not advertise support for automatic
refunds, WooCommerce Subscriptions, or pre-orders.

The plugin is not listed on WordPress.org and does not include an auto-updater.
Install updates by downloading a new `fincobra-woocommerce.zip` from a GitHub
Release and uploading it again. WordPress.org does not deliver plugin updates.

## Install the plugin

1. Activate WooCommerce first.
2. Download `fincobra-woocommerce.zip` from
   [GitHub Releases (latest)](https://github.com/dexstandard/fincobra-woocommerce/releases/latest).
   There is no WordPress.org listing or auto-updater.
3. In WordPress, open **Plugins → Add New → Upload Plugin**.
4. Choose `fincobra-woocommerce.zip` and install it.
5. Activate **FinCobra for WooCommerce**.

The store currency must be **USD**, and the public store must use HTTPS.

## Pricing

| Plan | Subscription | FinCobra commission |
| --- | --- | --- |
| Annual | $99 per year | 0% |
| Commission | None | 0.5% of confirmed order volume |

Both plans include the same gateway, supported networks, hosted checkout, and
automatic order updates. Unpaid, voided, and expired invoices do not count as
commission volume.

## Connect a Store

1. Create a FinCobra account and open
   [WooCommerce](https://fincobra.com/woocommerce). After you sign in, the
   **Connect your store** page is shown.
2. Choose a plan. Pay the annual invoice before connecting if you chose Annual.
3. Open **Checkout settings** and configure a receiving wallet.
4. Create a Checkout API key. It is used only once to establish the
   store-specific connection.
5. If the plugin is not installed yet, follow
   [Install the plugin](#install-the-plugin).
6. Open **WooCommerce → Settings → Payments → FinCobra**. If that Payments
   table is blank, open
   `/wp-admin/admin.php?page=wc-settings&tab=checkout&section=fincobra`.
7. Paste the Merchant API key and click **Connect**. The plugin connects the
   store and shows **Connected**. Connecting does not select a billing plan.
8. If the settings screen asks you to choose a plan, open
   [WooCommerce](https://fincobra.com/woocommerce) and choose **Annual** or
   **Commission**, then return to the plugin.
9. Enable the payment method and save the WooCommerce settings.

The plugin exchanges the Checkout API key for a credential scoped to that
store. The connection also creates a unique webhook signing secret. The raw
store credential and webhook secret are not displayed in the FinCobra
dashboard after creation.

## Customer Payment Flow

1. The customer chooses FinCobra and places the WooCommerce order.
2. The plugin creates one idempotent FinCobra invoice and stores its identifier
   on the WooCommerce order.
3. WooCommerce places the order on hold and redirects the customer to the
   hosted payment page.
4. FinCobra monitors the selected blockchain payment.
5. A signed webhook notifies the store when invoice state changes.
6. The plugin fetches the authoritative invoice and marks the order paid only
   after confirmation.

Returning from the hosted page does not mark an order paid. Payment status
comes from the signed webhook and the authenticated invoice lookup.

## Order Statuses

| FinCobra invoice | WooCommerce action |
| --- | --- |
| `awaiting_payment` | Keep the order on hold |
| `partially_paid` | Keep the order on hold |
| `payment_detected` | Keep the order on hold until confirmation |
| `confirmed` | Call WooCommerce payment completion |
| `paid_out_of_band` | Call WooCommerce payment completion |
| `expired` | Mark the order failed so the customer can retry |
| `voided` | Mark the order failed |

The plugin uses WooCommerce order APIs and is compatible with High-Performance
Order Storage.

## Reliability

Webhook processing is idempotent. Duplicate events do not complete an order
twice. Before changing an order, the plugin verifies the webhook signature,
fetches the current invoice, and checks its store installation, order
reference, currency, and amount.

WooCommerce Action Scheduler periodically reconciles orders that remain on
hold, covering temporary webhook or store availability failures.

## Troubleshooting

### The Payments tab is blank

WooCommerce 11 can show a React Payments table that stays empty when
JavaScript is blocked. Open
`/wp-admin/admin.php?page=wc-settings&tab=checkout&section=fincobra` to reach
the FinCobra settings screen.

### Place Order fails after connecting

Connecting a store does not select a billing plan. Choose **Annual** or
**Commission** at [https://fincobra.com/woocommerce](https://fincobra.com/woocommerce),
then try the order again.

### FinCobra is not offered at checkout

Confirm that:

- The WooCommerce store currency is USD.
- The gateway is enabled.
- The FinCobra connection reports **Connected**.
- The WooCommerce plan is active.
- The order contains only supported product types.

### An order remains on hold

Open the order notes and the FinCobra invoice. A detected payment remains on
hold until it reaches the required confirmation threshold. The reconciliation
job will also retry the authenticated status check.

### Reconnect or rotate credentials

Disconnect the store from the FinCobra WooCommerce page, then connect it again
from the plugin settings. Disconnecting invalidates the store credential and
stops new invoice creation for that installation.

## Data Sent to FinCobra

For a WooCommerce payment, the plugin sends the order identifier, USD total,
product summary, return URL, and the customer fields enabled by the integration.
FinCobra uses this information to create the payment invoice, reconcile the
order, deliver payment events, and calculate the selected plan's billing.

See the [Privacy Policy](https://fincobra.com/privacy) and
[Terms](https://fincobra.com/terms).
