[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fDSBm_687TdBqm79H20ajhtit-MUXPQrq2N7ufSa7fNI":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"fungies","Fungies.io","https:\u002F\u002Fprofiles.wordpress.org\u002Ffungies\u002F",1,0,100,30,94,"2026-08-28T19:51:08.382Z",[14],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":30,"download_link":31,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":32,"fetched_at":33},"fungies-for-woocommerce","Fungies for WooCommerce","2.4.4","\u003Cp>\u003Cstrong>Fungies for WooCommerce\u003C\u002Fstrong> lets you sell digital products through your WooCommerce store while \u003Ca href=\"https:\u002F\u002Ffungies.io\" rel=\"nofollow ugc\">Fungies.io\u003C\u002Fa> handles payments, taxes, and compliance as your \u003Cstrong>Merchant of Record\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Connect\u003C\u002Fstrong> — Paste your Fungies API keys in WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Fungies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sync\u003C\u002Fstrong> — Your Fungies products are automatically imported into WooCommerce\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sell\u003C\u002Fstrong> — Customers browse your store and check out via Fungies hosted checkout\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Get Paid\u003C\u002Fstrong> — Fungies processes the payment and sends a webhook to complete the WooCommerce order\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stay in Sync\u003C\u002Fstrong> — Orders, refunds, and subscriptions are kept up to date automatically\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Two-Way Product Sync\u003C\u002Fstrong> — Pull OneTimePayment products from Fungies into WooCommerce AND push WooCommerce products to Fungies as OneTimePayment offers (name, description, price, featured image)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto-Sync on Product Save\u003C\u002Fstrong> — Editing a WooCommerce product automatically updates the matching offer in Fungies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Currency Validation\u003C\u002Fstrong> — Detects your Fungies workspace currency and warns if it differs from your WooCommerce store currency\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-Item Hosted Checkout\u003C\u002Fstrong> — Carts with multiple products create a Fungies Checkout Element so all line items appear on the hosted checkout page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed Sync Panel\u003C\u002Fstrong> — Clear summary under “Sync Now” showing pull\u002Fpush counts and per-product errors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Duplicate Protection\u003C\u002Fstrong> — Products pushed from WooCommerce to Fungies will not be re-imported as duplicates on the next pull\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hosted Checkout\u003C\u002Fstrong> — Customers are redirected to a secure Fungies checkout page to complete payment, then returned to your WooCommerce thank-you page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Real-Time Order Sync\u003C\u002Fstrong> — Webhooks keep WooCommerce orders in sync with Fungies payments, including completions, failures, and refunds\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Subscription Support\u003C\u002Fstrong> — Handles subscription creation, renewal, and cancellation events from Fungies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sandbox \u002F Staging Mode\u003C\u002Fstrong> — Test the full flow with staging API keys and Stripe test cards before going live\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure Webhooks\u003C\u002Fstrong> — All incoming webhooks are verified with HMAC-SHA256 signatures and protected against duplicate processing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce Blocks Compatible\u003C\u002Fstrong> — Works with both the classic checkout and the new WooCommerce block-based checkout\u003C\u002Fli>\n\u003Cli>\u003Cstrong>HPOS Compatible\u003C\u002Fstrong> — Fully compatible with WooCommerce High-Performance Order Storage (custom order tables)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Opt-In Debug Logging\u003C\u002Fstrong> — Toggle verbose request\u002Fresponse logging in WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Status \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Logs (source: \u003Ccode>fungies\u003C\u002Fcode>). 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.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dashboard Widget\u003C\u002Fstrong> — See your sync status at a glance from the WordPress dashboard\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why Fungies?\u003C\u002Fh4>\n\u003Cp>Fungies acts as your Merchant of Record, which means:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>No payment gateway setup\u003C\u002Fstrong> — Fungies handles Stripe, PayPal, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic tax collection\u003C\u002Fstrong> — Sales tax, VAT, and GST handled globally\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Invoicing & compliance\u003C\u002Fstrong> — Professional invoices generated for every transaction\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fraud protection\u003C\u002Fstrong> — Built-in fraud detection and chargeback handling\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Sell software, ebooks, courses, or any digital product\u003C\u002Fli>\n\u003Cli>Add a WooCommerce storefront to your existing Fungies catalog\u003C\u002Fli>\n\u003Cli>Let Fungies handle payments and taxes while you manage the shopping experience\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Third-Party Service: Fungies.io\u003C\u002Fh4>\n\u003Cp>This plugin connects your WooCommerce store to the \u003Cstrong>Fungies.io\u003C\u002Fstrong> platform, an external third-party service operated by Fungies Inc.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What data is sent to Fungies:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>During \u003Cstrong>product sync\u003C\u002Fstrong>, the plugin sends your API keys to the Fungies API to retrieve your product catalog.\u003C\u002Fli>\n\u003Cli>During \u003Cstrong>checkout\u003C\u002Fstrong>, customers are redirected to the Fungies hosted checkout page. Their email address and country code are passed as URL parameters.\u003C\u002Fli>\n\u003Cli>During \u003Cstrong>webhook processing\u003C\u002Fstrong>, Fungies sends order and payment data (order ID, payment status, amounts, subscription details) to your WordPress site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Service endpoints used:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Production API: \u003Ccode>https:\u002F\u002Fapi.fungies.io\u002Fv0\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Staging API: \u003Ccode>https:\u002F\u002Fapi.stage.fungies.net\u002Fv0\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Hosted checkout: \u003Ccode>https:\u002F\u002F{your-store}.app.fungies.io\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>A Fungies account is required\u003C\u002Fstrong> to use this plugin. You can sign up at \u003Ca href=\"https:\u002F\u002Ffungies.io\" rel=\"nofollow ugc\">fungies.io\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Legal documents:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhelp.fungies.io\u002Flegal\u002Fgeneral-terms-of-use\" rel=\"nofollow ugc\">General Terms of Use\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhelp.fungies.io\u002Flegal\u002Fsaas-terms-of-use\" rel=\"nofollow ugc\">SaaS Terms of Use\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhelp.fungies.io\u002Flegal\u002Fprivacy-policy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fhelp.fungies.io\u002Flegal\u002Fcookies-and-tracking\" rel=\"nofollow ugc\">Cookies and Tracking\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Product Sync\u003C\u002Fh3>\n\u003Cp>Every sync runs two phases on the same triggers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pull (Fungies to WooCommerce)\u003C\u002Fstrong> — \u003Ccode>GET \u002Fv0\u002Foffers\u002Flist\u003C\u002Fcode>, then for each offer create or update a matching WooCommerce product (name, description, image, price, currency).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Push (WooCommerce to Fungies)\u003C\u002Fstrong> — for each published WooCommerce product, build a OneTimePayment product and offer body, then either \u003Ccode>PATCH\u003C\u002Fcode> an existing one or \u003Ccode>POST\u003C\u002Fcode> a new one.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Triggers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Sync Now button\u003C\u002Fstrong> in WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Fungies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP-Cron\u003C\u002Fstrong>, hourly\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>woocommerce_update_product\u003C\u002Fcode> \u002F \u003Ccode>woocommerce_new_product\u003C\u002Fcode>\u003C\u002Fstrong> hooks (push only, debounced 5 seconds)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Loop and duplicate prevention\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>_fungies_offer_id\u003C\u002Fcode> on a WooCommerce product marks it as Fungies-originated \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> skipped during push.\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_pushed_offer_id\u003C\u002Fcode> on a WooCommerce product marks it as already-pushed \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> skipped during pull.\u003C\u002Fli>\n\u003Cli>A runtime \u003Ccode>is_pulling\u003C\u002Fcode> flag prevents WooCommerce update hooks from firing while the pull writes to the database.\u003C\u002Fli>\n\u003Cli>A 5-second per-product transient lock debounces rapid-fire saves.\u003C\u002Fli>\n\u003Cli>If a \u003Ccode>PATCH\u003C\u002Fcode> returns 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.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Currency handling\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>Meta keys reference\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>_fungies_offer_id\u003C\u002Fcode> — Fungies offer ID this WooCommerce product mirrors (set on pull).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_currency\u003C\u002Fcode> — currency the offer was priced in (set on pull).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_checkout_url\u003C\u002Fcode> — pre-built single-offer hosted checkout URL (set on pull).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_pushed_product_id\u003C\u002Fcode> — Fungies product ID for a WC-originated product (set on push).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_pushed_offer_id\u003C\u002Fcode> — Fungies offer ID for a WC-originated product (set on push).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_pushed_at\u003C\u002Fcode> — timestamp of last successful push.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Checkout URL Generation\u003C\u002Fh3>\n\u003Cp>When a customer clicks \u003Cstrong>Place Order\u003C\u002Fstrong>, the plugin produces a different Fungies hosted checkout URL depending on how many distinct offers are in the cart.\u003C\u002Fp>\n\u003Ch4>Step 1 — Collect offer IDs\u003C\u002Fh4>\n\u003Cp>For each cart line item, the builder resolves a Fungies offer ID by checking, in order:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>_fungies_offer_id\u003C\u002Fcode> (product was pulled \u003Cstrong>from\u003C\u002Fstrong> Fungies).\u003C\u002Fli>\n\u003Cli>\u003Ccode>_fungies_pushed_offer_id\u003C\u002Fcode> (product was pushed \u003Cstrong>to\u003C\u002Fstrong> Fungies from WooCommerce).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Each unit (quantity) becomes one entry in the resulting offer-IDs array. Items without either meta key are logged and skipped.\u003C\u002Fp>\n\u003Ch4>Step 2 — Build the URL\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Single offer\u003C\u002Fstrong> (1 distinct offer ID, quantity 1) — no API call is needed. The plugin redirects directly to:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cstore_url>\u002Fcheckout\u002F\u003Coffer_id>?fngs-customer-email=...&fngs-customer-country=...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Multiple offers\u003C\u002Fstrong> (2 or more, or quantity > 1) — the plugin calls \u003Ccode>POST \u002Fv0\u002Felements\u002Fcheckout\u002Fcreate\u003C\u002Fcode> with all collected offer IDs, then redirects to:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cstore_url>\u002Fcheckout-element\u002F\u003Celement_id>?fngs-customer-email=...&fngs-customer-country=...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The element ID is also stored on the WooCommerce order as \u003Ccode>_fungies_checkout_element_id\u003C\u002Fcode> for traceability. When the customer lands on the hosted checkout, Fungies promotes the element into a checkout session and the URL becomes \u003Ccode>…\u002Fcheckout-element\u002F\u003Celement_id>\u002Fcheckout\u002F\u003Csession_id>\u003C\u002Fcode> — every cart product is visible in the order summary.\u003C\u002Fp>\n\u003Ch4>Why two URL shapes?\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n","Connect your WooCommerce store to Fungies.io — sync products, accept payments through Fungies hosted checkout, and keep orders perfectly in sync.",120,"2026-06-01T11:17:00.000Z","6.9.5","5.8","7.4",[26,27,28,29],"checkout","digital-products","payments","woocommerce","https:\u002F\u002Fgithub.com\u002Fdukenukemall\u002Ffungies-wp-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffungies-for-woocommerce.2.4.4.zip",null,"2026-07-22T17:31:50.256Z"]