Fungies For WooCommerce Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Fungies for WooCommerce lets you sell digital products through your WooCommerce store while Fungies.io handles payments, taxes, and compliance as your Merchant of Record.
You keep full control of your storefront. Fungies takes care of the hard parts — payment processing, tax collection, invoicing, and regulatory compliance — so you can focus on your products.
How It Works
- Connect — Paste your Fungies API keys in WooCommerce Settings Fungies
- Sync — Your Fungies products are automatically imported into WooCommerce
- Sell — Customers browse your store and check out via Fungies hosted checkout
- Get Paid — Fungies processes the payment and sends a webhook to complete the WooCommerce order
- Stay in Sync — Orders, refunds, and subscriptions are kept up to date automatically
Features
- Two-Way Product Sync — Pull OneTimePayment products from Fungies into WooCommerce AND push WooCommerce products to Fungies as OneTimePayment offers (name, description, price, featured image)
- Auto-Sync on Product Save — Editing a WooCommerce product automatically updates the matching offer in Fungies
- Currency Validation — Detects your Fungies workspace currency and warns if it differs from your WooCommerce store currency
- Multi-Item Hosted Checkout — Carts with multiple products create a Fungies Checkout Element so all line items appear on the hosted checkout page
- Detailed Sync Panel — Clear summary under “Sync Now” showing pull/push counts and per-product errors
- Duplicate Protection — Products pushed from WooCommerce to Fungies will not be re-imported as duplicates on the next pull
- Hosted Checkout — Customers are redirected to a secure Fungies checkout page to complete payment, then returned to your WooCommerce thank-you page
- Real-Time Order Sync — Webhooks keep WooCommerce orders in sync with Fungies payments, including completions, failures, and refunds
- Subscription Support — Handles subscription creation, renewal, and cancellation events from Fungies
- Sandbox / Staging Mode — Test the full flow with staging API keys and Stripe test cards before going live
- Secure Webhooks — All incoming webhooks are verified with HMAC-SHA256 signatures and protected against duplicate processing
- WooCommerce Blocks Compatible — Works with both the classic checkout and the new WooCommerce block-based checkout
- HPOS Compatible — Fully compatible with WooCommerce High-Performance Order Storage (custom order tables)
- Opt-In Debug Logging — Toggle verbose request/response logging in WooCommerce Status Logs (source:
fungies). Errors and warnings are always logged; verbose dumps are off by default to keep log files small and avoid storing third-party API payloads unless you’re troubleshooting. - Dashboard Widget — See your sync status at a glance from the WordPress dashboard
Why Fungies?
Fungies acts as your Merchant of Record, which means:
- No payment gateway setup — Fungies handles Stripe, PayPal, and more
- Automatic tax collection — Sales tax, VAT, and GST handled globally
- Invoicing & compliance — Professional invoices generated for every transaction
- Fraud protection — Built-in fraud detection and chargeback handling
Use Cases
- Sell software, ebooks, courses, or any digital product
- Add a WooCommerce storefront to your existing Fungies catalog
- Let Fungies handle payments and taxes while you manage the shopping experience
Third-Party Service: Fungies.io
This plugin connects your WooCommerce store to the Fungies.io platform, an external third-party service operated by Fungies Inc.
What data is sent to Fungies:
- During product sync, the plugin sends your API keys to the Fungies API to retrieve your product catalog.
- During checkout, customers are redirected to the Fungies hosted checkout page. Their email address and country code are passed as URL parameters.
- During webhook processing, Fungies sends order and payment data (order ID, payment status, amounts, subscription details) to your WordPress site.
Service endpoints used:
- Production API:
https://api.fungies.io/v0 - Staging API:
https://api.stage.fungies.net/v0 - Hosted checkout:
https://{your-store}.app.fungies.io
A Fungies account is required to use this plugin. You can sign up at fungies.io.
Legal documents:
Product Sync
Every sync runs two phases on the same triggers:
- Pull (Fungies to WooCommerce) —
GET /v0/offers/list, then for each offer create or update a matching WooCommerce product (name, description, image, price, currency). - Push (WooCommerce to Fungies) — for each published WooCommerce product, build a OneTimePayment product and offer body, then either
PATCHan existing one orPOSTa new one.
Triggers
- Sync Now button in WooCommerce Settings Fungies
- WP-Cron, hourly
woocommerce_update_product/woocommerce_new_producthooks (push only, debounced 5 seconds)
Loop and duplicate prevention
_fungies_offer_idon a WooCommerce product marks it as Fungies-originated skipped during push._fungies_pushed_offer_idon a WooCommerce product marks it as already-pushed skipped during pull.- A runtime
is_pullingflag prevents WooCommerce update hooks from firing while the pull writes to the database. - A 5-second per-product transient lock debounces rapid-fire saves.
- If a
PATCHreturns 404 “Product not found” (e.g. after switching from staging to production keys), stale IDs are cleared and the product is recreated in the current workspace.
Currency handling
The plugin auto-detects the Fungies workspace currency. If your WooCommerce currency does not match, the push phase errors out with a clear message — products are never pushed at the wrong currency.
Meta keys reference
_fungies_offer_id— Fungies offer ID this WooCommerce product mirrors (set on pull)._fungies_currency— currency the offer was priced in (set on pull)._fungies_checkout_url— pre-built single-offer hosted checkout URL (set on pull)._fungies_pushed_product_id— Fungies product ID for a WC-originated product (set on push)._fungies_pushed_offer_id— Fungies offer ID for a WC-originated product (set on push)._fungies_pushed_at— timestamp of last successful push.
Checkout URL Generation
When a customer clicks Place Order, the plugin produces a different Fungies hosted checkout URL depending on how many distinct offers are in the cart.
Step 1 — Collect offer IDs
For each cart line item, the builder resolves a Fungies offer ID by checking, in order:
_fungies_offer_id(product was pulled from Fungies)._fungies_pushed_offer_id(product was pushed to Fungies from WooCommerce).
Each unit (quantity) becomes one entry in the resulting offer-IDs array. Items without either meta key are logged and skipped.
Step 2 — Build the URL
Single offer (1 distinct offer ID, quantity 1) — no API call is needed. The plugin redirects directly to:
<store_url>/checkout/<offer_id>?fngs-customer-email=...&fngs-customer-country=...
Multiple offers (2 or more, or quantity > 1) — the plugin calls POST /v0/elements/checkout/create with all collected offer IDs, then redirects to:
<store_url>/checkout-element/<element_id>?fngs-customer-email=...&fngs-customer-country=...
The element ID is also stored on the WooCommerce order as _fungies_checkout_element_id for traceability. When the customer lands on the hosted checkout, Fungies promotes the element into a checkout session and the URL becomes …/checkout-element/<element_id>/checkout/<session_id> — every cart product is visible in the order summary.
Why two URL shapes?
The single-offer URL is stateless — no API call, no rate-limit cost, no extra latency. The multi-offer flow has to use the Checkout Element endpoint because Fungies’ single-offer URL only carries one offer ID. Before v2.1.6, multi-item carts would silently lose every line item except the first.
Screenshots
No screenshots provided

