Title: SATFLUX for WooCommerce
Author: Sirius
Published: <strong>July 15, 2026</strong>
Last modified: July 15, 2026

---

Search plugins

![](https://ps.w.org/satflux-for-woocommerce/assets/icon-256x256.png?rev=3609267)

# SATFLUX for WooCommerce

 By [Sirius](https://profiles.wordpress.org/siriusnode/)

[Download](https://downloads.wordpress.org/plugin/satflux-for-woocommerce.2.0.23.zip)

 * [Details](https://wordpress.org/plugins/satflux-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/satflux-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/satflux-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/satflux-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/satflux-for-woocommerce/)

## Description

SATFLUX WooCommerce links your WooCommerce store to [Satflux.io](https://satflux.io).
Accept Bitcoin and Lightning payments, sync orders to Satflux business invoicing,
and sell event tickets through Satoshi Tickets.

Running your own BTCPay Server and only need Bitcoin payments? Use the official 
[BTCPay for WooCommerce](https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/)
plugin instead. SATFLUX for WooCommerce is built for stores connected to Satflux.
io.

#### Modules

 * **Connection** – Link your store to Satflux.io (one-click connect with URL, API
   key and store ID).
 * **Payment** – WooCommerce Bitcoin payment gateway via the BTCPay Greenfield API.
 * **Invoicing** (optional) – Create Satflux accounting documents from orders. Requires
   a Satflux.io account (Satflux Pro) – invoicing does not work with a standalone
   BTCPay Server. Paid orders can be issued and emailed automatically; local-first
   mode queues orders in the Satflux integration inbox.
 * **Tickets** (optional) – Sell event tickets via Satoshi Tickets on Satflux; sync
   stock and fulfill orders on payment.

Configure everything under **WooCommerce  Settings  Satflux**.

#### Requirements

 * WordPress 5.8 or later
 * WooCommerce 6.0 or later
 * PHP 8.0 or later
 * Satflux.io account (self-hosted BTCPay users: see the official [BTCPay for WooCommerce](https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/)
   plugin)
 * Optional: Satflux Pro for business invoicing
 * Optional: Satoshi Tickets on Satflux for the Tickets module

#### Upgrade from v1.x

If you used **BTCPay GF Satoshi Tickets for WooCommerce** v1.x, options migrate 
automatically to `satflux_*` keys on first load. Existing ticket products and orders
are preserved.

### External services

This plugin connects to external services to process Bitcoin payments, optional 
invoicing, and optional event tickets.

#### Satflux.io

Used for optional one-click BTCPay connection (OAuth-style redirect) and optional
business invoicing when Satflux Pro is enabled.

When you connect via Satflux.io or enable invoicing, the plugin sends your store
connection details (BTCPay Server URL, API key, store ID) and, for invoicing, WooCommerce
order data (order ID, line items, customer billing details, totals) to the Satflux
integration API at satflux.io.

This service is provided by Satflux.io: [terms of use](https://satflux.io/legal/terms),
[privacy policy](https://satflux.io/legal/privacy).

#### BTCPay Server

Required for Bitcoin payments and optional Satoshi Tickets. You connect to a BTCPay
Server instance, typically provided through your Satflux.io account.

The plugin sends order and payment data when creating invoices (order ID, amount,
currency, customer email, redirect URLs) and when fulfilling tickets (recipient 
names and emails). BTCPay Server sends webhook callbacks (InvoiceSettled) to your
WordPress site to mark orders as paid.

For self-hosted BTCPay, you control the server and its data policies. See [BTCPay Server documentation](https://docs.btcpayserver.org/)
and the [BTCPay Server project](https://github.com/btcpayserver/btcpayserver).

## Installation

 1. Install and activate WooCommerce.
 2. Upload and activate SATFLUX WooCommerce.
 3. Go to **WooCommerce  Settings  Satflux  Connection**.
 4. Click **Connect to Satflux.io** or enter BTCPay URL, API key, and store ID manually.
 5. Enable the **Payment** module and configure **WooCommerce  Settings  Checkout  
    Bitcoin**.
 6. Save settings. The BTCPay webhook registers automatically when configured.

## FAQ

### Do I need Satflux.io?

Yes. This plugin is built for stores connected to Satflux.io – the one-click connection,
business invoicing and Satoshi Tickets all run through it. If you run your own BTCPay
Server and only need Bitcoin payments in WooCommerce, use the official [BTCPay for WooCommerce](https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/)
plugin instead.

### Can I use this with my own BTCPay Server?

For plain Bitcoin payments, use the official [BTCPay for WooCommerce](https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/)
plugin. The Satflux features of this plugin – business invoicing and event tickets–
require a Satflux.io account and do not work with a standalone BTCPay Server.

### Does this work with block checkout?

Yes. The plugin declares compatibility with WooCommerce cart/checkout blocks and
HPOS (custom order tables).

### How do tickets work?

Enable the Tickets module, then manage events under the Satflux **Events** section.
Ticket products sync stock from BTCPay. Customers pay with the Satoshi Tickets gateway;
orders complete when BTCPay sends an InvoiceSettled webhook.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SATFLUX for WooCommerce” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Sirius ](https://profiles.wordpress.org/siriusnode/)

[Translate “SATFLUX for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/satflux-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/satflux-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/satflux-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/satflux-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/satflux-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.23

 * Order metabox now links each Satflux document (proforma and final invoice): “
   Open in Satflux” opens the document detail and “Download PDF” streams the cached
   PDF (downloading it from Satflux on first use).
 * Customers can download their document from My Account: an “Invoice (PDF)” / “
   Proforma (PDF)” action on the orders list and a button on the order detail, restricted
   to the order’s owner.
 * The final invoice created from a proforma now shows “Paid by proforma invoice
   XXX” on the PDF and in Satflux (requires an updated Satflux backend).

#### 2.0.22

 * Orders without a BTCPay invoice (cash on delivery, bank transfer) no longer fail
   document creation with “The btcpay invoice id field must be a string” – empty
   optional fields are omitted from the API payload.

#### 2.0.21

 * Deferred-payment gateways now have fixed stages independent of the “Create on
   status” setting: the proforma issues when the order reaches Processing or On 
   hold, the final invoice when it completes. Previously a Completed trigger silently
   skipped the proforma. The global document type and trigger status only apply 
   to methods set to “Use the settings above”.

#### 2.0.20

 * Per-payment-method invoicing: map each gateway to Instant payment (order completes
   right away, final invoice issues with the payment), Deferred payment (proforma
   issues at the trigger status, the final invoice – linked to the proforma – when
   the order is completed) or No document. Sensible defaults are preselected on 
   first save (BTCPay/Satoshi/Stripe instant; cash on delivery, bank transfer, cheque
   deferred).
 * Deferred orders attach the proforma PDF to the processing/on-hold customer emails
   and the final invoice PDF to the completed email. Importing the paid final invoice
   in Satflux also marks the linked proforma as paid.

#### 2.0.19

 * The invoicing settings screen now warns loudly when automatic invoicing is disabled
   in Satflux (paid orders would only wait in the inbox), with a link to enable 
   it.

#### 2.0.18

 * Invoices now itemize every order component: fees (e.g. a Bitcoin payment discount,
   sent as a negative line) and each coupon as its own discount line. The invoice
   total matches the order total exactly, so paid orders are marked fully paid in
   Satflux instead of showing a leftover amount due.

#### 2.0.17

 * When automatic invoicing does not happen, the order note now explains why (order
   not reported as paid, automatic invoicing not enabled in Satflux company settings,
   no company linked).

#### 2.0.16

 * Automatic invoicing for paid orders (Satflux local-first mode): the plugin now
   understands auto-issued inbox responses – stores the invoice number, adds order
   notes about the queued customer email, and shows the number in the order metabox.
 * “Email PDF” setting now actually works: the auto-issued invoice PDF is downloaded
   from the Satflux integration API into a protected uploads cache and attached 
   to WooCommerce customer emails (processing, completed, invoice).
 * Invoice generation also hooks the configured trigger status at an early priority
   so the PDF exists before WooCommerce composes the customer email for the same
   transition.

#### 2.0.15

 * Security review pass: every request-derived input is now read only behind the
   matching WooCommerce checkout nonce (update-order-review / woocommerce-process_checkout),
   admin AJAX nonce (check_ajax_referer) plus current_user_can capability check,
   or the signed user-bound OAuth state token. Read-only admin screen routing is
   annotated and sanitized.

#### 2.0.14

 * Fix Satflux OAuth connect: store session state in HttpOnly cookie instead of 
   return URL query string.

#### 2.0.13

 * Fix migration running on plugins_loaded: defer to woocommerce_init so OAuth redirects
   are not broken by debug notices.

#### 2.0.12

 * Fix Connect to Satflux.io redirecting to wp-admin instead of satflux.io (allow
   Satflux host in wp_safe_redirect).

#### 2.0.11

 * Fix Satflux OAuth state: signed token (no transient) and fresh connect redirect
   on button click.

#### 2.0.10

 * OAuth exchange API path renamed to `/oauth-exchange`; clearer error when satflux.
   io backend is missing the endpoint.

#### 2.0.9

 * Fix Satflux connect: exchange short connect code via API instead of credentials
   in redirect URL (requires satflux.io update).

#### 2.0.8

 * Fix Satflux OAuth connect: dedicated admin-post callback with state token so 
   credentials and integration token save reliably.

#### 2.0.7

 * Fix invoice AJAX treating API errors as success; test Satflux integration token
   on Connection test; show re-connect notice when token is invalid.

#### 2.0.6

 * Fix invoicing module not loading when Satflux connection check failed on init;
   restore automatic and manual invoice generation.

#### 2.0.5

 * Fix Satflux store ID storage: persist Satflux UUID (not BTCPay store id) for 
   inbox and check-in links; sync from `/connection` API after connect and test.

#### 2.0.4

 * Security: verify WooCommerce checkout nonces before reading payment_method from
   POST in tickets gateway discount logic.

#### 2.0.3

 * Security: remove webhook registration triggered by forged GET `updated=true`.
 * Prefix rename to `satfluxwc_` for options, AJAX actions, transients, and meta
   keys (with migration).
 * Fix invalid BTCPay Server GitHub URL in readme.

#### 2.0.2

 * Invoicing: support Satflux local-first integration inbox mode (pending orders,
   no auto-issue, inbox admin UI).
 * Connect: show error notices for btcpay_not_configured and no_stores.
 * Invoicing webhook: accept evolu_document_id in document.paid payload.

#### 2.0.1

 * WordPress.org review compliance: security hardening, external services documentation,
   WooCommerce dependency header.

#### 2.0.0

 * Rebrand to SATFLUX WooCommerce with modular architecture (payment, invoicing,
   tickets).
 * Satflux.io OAuth quick connect at `/woocommerce/connect`.
 * Automatic migration from legacy `btcpay_satoshi_*` options.
 * General Bitcoin gateway separate from Satoshi Tickets gateway.
 * WooCommerce block checkout and HPOS support.

## Meta

 *  Version **2.0.23**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [bitcoin](https://wordpress.org/plugins/tags/bitcoin/)[btcpay](https://wordpress.org/plugins/tags/btcpay/)
   [payments](https://wordpress.org/plugins/tags/payments/)[tickets](https://wordpress.org/plugins/tags/tickets/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/satflux-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/satflux-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/satflux-for-woocommerce/reviews/)

## Contributors

 *   [ Sirius ](https://profiles.wordpress.org/siriusnode/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/satflux-for-woocommerce/)