Skip to content

WooCommerce Plugin

Download Latest

Download Latest

Versions

Version Date Download Notes
4.7.7 2026-05-06 ZIP Fixed Blackstone Refund buttons not appearing on the order edit screen under High-Performance Order Storage (HPOS). The detector relied on get_post_type() === 'shop_order', which returns 'shop_order_placehold' when HPOS is active without compatibility sync, so the refund JavaScript was never enqueued. The detector now accepts the placeholder type and falls back to wc_get_order() for storage-agnostic resolution, covering Legacy, HPOS+sync, and HPOS-only configurations.
4.7.6 2026-05-05 ZIP Fixed pay-for-order pages charging the original order amount instead of the current items total when the admin modified items without clicking "Recalculate" — the persisted order total is now refreshed automatically before rendering the customer pay page and again defensively before charging the API. An order note records every recalculation for auditing. Skipped on orders carrying surcharge/card-difference fee metadata to preserve the existing fee flow.
4.7.5 2026-05-04 ZIP Fixed 3DS verification not triggering on the pay-for-order page on sites with translated WooCommerce slugs — detection now uses the pay_for_order=true query parameter instead of the English-only order-pay URL slug.
4.7.4 2026-05-03 ZIP Added client-side UUID generation for clientTransactionId using crypto.randomUUID() with Math.random() fallback; each checkout attempt generates a unique identifier. Added automatic JWT refresh on 401 errors from the 3DS SDK — refreshes server-side token and retries verify() once with a new clientTransactionId. Added "Force 3DS (Sandbox only)" admin toggle to bypass the merchant API flag during sandbox testing; automatically selects sandbox endpoint when active. Added billing address, email, city, state, and ISO 3166-1 numeric country code to 3DS form data fields. Added ISO 4217 numeric currency code conversion with MXN support. Fixed 3DS challenge iframe sizing — scoped CSS injected in document.head prevents SDK from overriding iframe dimensions; modal width set to 460px, iframe fixed at 390x400. Fixed