> For the complete documentation index, see [llms.txt](https://docs.chinapaymentsplugin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chinapaymentsplugin.com/changelog/changelog.md).

# Changelog

### Version 3.5.8 - June 24, 2026

* Fix: WeChat Pay, Alipay, and UnionPay now appear and work on the WooCommerce Checkout block again (they were missing from the block checkout due to a packaging issue). Classic checkout was unaffected.
* Fix: When a payment fails, customers can now retry it from the order-pay page (My Account → Orders) — WeChat Pay and Alipay are shown there instead of "no available payment methods."
* Fix: LifterLMS — after paying with WeChat Pay or Alipay, students are taken straight to their course success page instead of being left on the payment-confirmation screen.
* Improvement: Consistent WeChat Pay, Alipay, and UnionPay icon sizing on the WooCommerce Checkout block.

### Version 3.5.7 - June 24, 2026

* Fix: UnionPay now works on the classic checkout, not just the Checkout block — the card field appears and the payment completes. (Previously it stalled with no card field and left the order unpaid.) WeChat Pay and Alipay are unchanged.
* Fix (security): The UnionPay card step now keeps its after-payment redirect on your own site.
* Improvement: The WeChat Pay, Alipay, and UnionPay icons now show at a consistent size and line up with their labels at checkout.

### Version 3.5.6 - June 6, 2026

* Improvement: Stripe payment-confirmation webhooks are now acknowledged instantly and the order is completed in the background, so a burst of payments can no longer slow down or tie up your site. Order completion is unchanged and stays safe against duplicate or retried webhooks.

### Version 3.5.5 - May 31, 2026

* Fix: The plugin is now properly translated. Its translations previously never loaded (the loader referenced the wrong text domain) and weren't bundled. All 13 community translations from WordPress.org — Danish, German, Spanish, French, Italian, Japanese, Dutch, Portuguese, Swedish, and Simplified Chinese — now ship with the plugin and apply automatically based on your site language.
* Fix: Automatic Stripe webhook creation failed on connected accounts (missing the required `api_version` parameter), so payment-confirmation webhooks were never registered and order completion fell back to the 24-hour cron. Webhooks now register correctly on connect.
* Fix: Resolved an admin JavaScript error ("Cannot read properties of undefined (reading 'first\_name')") that could block the Stripe Connect button from working.
* Improvement: Storefront localization now applies WordPress's full installed language pack for the chosen locale (WordPress core, WooCommerce, blocks, theme, and plugin strings), with the plugin's curated overrides still on top. A new setting lets you force any installed language — not only Chinese. The WordPress admin stays in your site language.

### Version 3.5.4 - May 28, 2026

* Build: Cleaner customer ZIP — dev configs (`phpunit.xml.dist`, `phpcs.xml.dist`, `phpstan.neon`, `playwright.config.js`, `.wp-env.json`) no longer ship inside the plugin. All tests + dev tooling now live in our separate testing-suite repo. Customer-facing plugin code is byte-identical to 3.5.3.

### Version 3.5.3 - May 27, 2026

* Fix: Correct Stripe minor-unit conversion for 9 PaymentIntent.amount sites. Previously, `intval( floatval( $amount ) * 100 )` could silently truncate $X.99 amounts by 1 cent (e.g. $0.99 → 98 cents) due to PHP float drift. Now routed through a new `ChinaPayments\Core\CurrencyHelper::to_stripe_amount()` that uses round-half-up and a full Stripe-spec 0-/2-/3-decimal currency map (16 zero-decimal currencies incl. BIF / MGA / VND / JPY; 5 three-decimal currencies BHD / KWD / OMR / JOD / TND).
* Fix: Stripe webhook now returns proper HTTP 400 on unsigned or invalid-signature payloads. Previously `http_response_code()` was a no-op inside the WP REST controller, causing all failure responses to ship as HTTP 200 (Stripe interprets 200 as "stop retrying"). Switched all responses to `new WP_REST_Response( $body, $status )`.
* Fix: Webhook now catches `\Stripe\Exception\SignatureVerificationException` explicitly, returning 400 instead of 500 on bad signatures.
* Security: Migration AJAX handler (`wp_ajax_china_payments_migration_handler`) now verifies a `check_ajax_referer()` nonce in addition to its existing capability check.
* i18n: Two `__( 'Order' )` calls in the WooCommerce gateway were missing the `wp-stripe-global-payments` text domain — now translatable. One `__()` call in the payment-gateway REST file had a stray third argument (silently misclassifying the text domain) — corrected.
* Compat: WooCommerce HPOS (custom order tables) compatibility declaration locked under regression tests.

### Version 3.5.2 - May 18, 2026

* Compat: WP 7.0 readiness (Tested up to 7.0).
* Compat: Declared HPOS (High-Performance Order Storage) compatibility for WooCommerce 8.x+. Removes the "Plugin is not compatible" warning on stores with the new custom-order-tables data store enabled.
* Fix: UnionPay icon max-width set to 128px to match its native aspect ratio in WooCommerce classic + block checkouts (was rendering too small).

### Version 3.5.1 - March 18, 2026

* Fix: Stripe webhook payload reading + hardened webhook security.
* Updated Freemius SDK.

### Version 3.5.0 - March 10, 2026

* Added UnionPay.
* Added Optimizations for checkout localization currency display.

### Version 3.4.2 - Dec 16, 2025

* Update Freemius SDK.

### Version 3.4.1 - Jan 27, 2025

* Added improved methods for payment confirmation on WooCommerce, including cron checks for the first 24 hours after payment.
* Updated Stripe library.
* Update Freemius SDK.

### Version 3.4.0 - Oct 23, 2024

* Update Freemius SDK.

### Version 3.3.9 - Sept 25, 2024

* Translation fixes.

### Version 3.3.8 - Sept 20, 2024

* Freemius SDK update.
* Translation fixes.

### Version 3.3.7 - July 17, 2024

* Fix to Simple Membership integration.

### Version 3.3.6 - July 17, 2024

* WooCommerce Gutenberg Block checkout now supported!
* Update to Freemius SDK.

### Version 3.3.5 - April 9, 2024

* Fixed conflict with Google SiteKit Plugin.

### Version 3.3.4 - November 22, 2024

* We’ve added the LifterLMS integration!

### Version 3.3.3 - October 12, 2023

* We’ve added the Simple Membership integration!
* Updated Freemius SDK.

### Version 3.3.2 - July 7, 2023

* WooCommerce integration updates.

### Version 3.3.1 - July 6, 2023

* MemberPress compatibility fix.

### Version 3.3 - July 5, 2023

* Rebuild of MemberPress integration.
* Update Freemius SDK.

### Version 3.2.3 - August 26, 2022

* Updated Freemius SDK to v2.4.5.

### Version 3.2.2 - July 29, 2022

* Bug fix for Stripe accounts that disconnect from the platform.

### Version 3.2.1 - July 14, 2022

* General bug fixes.
* Updated link to documentation.
* Freemius SDK update to v2.4.4.

### Version 3.2.0 - May 27, 2022

* Added Alipay recurring payments via Stripe.
* Bugfix to activating payment methods from settings area in TEST mode.
* Text changes in the UI.

### Version 3.1.0 - May 16, 2022

* Made WeChat Pay available in the free version for WooCommerce and Payment Page.
* Implemented platform fee for free version of plugin.
* Simplified the Settings area and Quick Setup.

### Version 3.0.2 - April 29, 2022

* Fix for Live Webhook Signing Secret not rendering properly.

### Version 3.0.1 - April 1, 2022

* Improved error handling.

### Version 3.0 - March 18, 2022

* Completely refactored settings interface and first-time user experience.
* New and more secure Stripe Connect API.
* Rebuilt the integration with WooCommerce to be more reliable.
* New integration with Payment Page plugin.
* Payment Buttons and shortcodes deprecated in favor of Payment Page integration.
* MemberPress deprecated (will be rebuilt in future).
* Some other optimizations have been deprecated.

### Version 2.3.6 - December 23, 2021

* Updates to the currency conversion API for WooCommerce.
* Added a dropdown indicator icon or the currency selector field.
* Reset currency conversion every time the form is loaded.
* Fixed a conflict with the Conditional Checkout Fields for WooCommerce plugin.

### Version 2.3.5 - November 16, 2021

* Updates to ensure the currency conversion API is working on WooCommerce checkout and for fixed amounts on the Payment Buttons.

### Version 2.3.4 - November 9, 2021

* Bugfix for currency conversion API not showing when logged out of the site in some cases.

### Version 2.3.3 - November 4, 2021

* Currency conversion API now displays error responses.
* Bugfix for WooCommerce checkout throwing an integer comma placement error for payments above 1,000 currency units in some cases.

### Version 2.3.2 - November 1, 2021

* CNY is now available for checking out with WeChat Pay and Alipay on the Payment Buttons.
* CNY is now available for checking out with WeChat Pay + WooCommerce.
* Payment amounts are now handled properly regardless of the WooCommerce Store's currency decimal settings.
* Improved handling for non-decimal currencies with custom payment amounts.
* New shortcodes for managing default currencies independently for each payment method on the Payment Buttons.

### Version 2.3.1 - October 1, 2021

* Improved error handling for MemberPress.

### Version 2.3 - September 30, 2021

* Updated [MemberPress](https://chinapaymentsplugin.com/memberpress/) integration to the Stripe Payment Intents API.
* Ensured the payment flow is catching all kinds of errors when they occur to help diagnose issues.
* Fixed non-decimal currencies having an issue with the payment button checkout.
* Updates for Stripe Partners Program.
* Removed notification to reconnect Stripe since the latest update to our Stripe Connect API in June.

### Version 2.2.4 - Sept 10, 2021

* Handling some Stripe console errors in certain situations.

### Version 2.2.3 - August 31, 2021

* Fixed bug for one-time WeChat Pay and Alipay payments not checking for a customer properly in Stripe.

### Version 2.2.2 - August 30, 2021

* Upgrades to meet Stripe Partners Program requirements.
* Fixed bug for one-time credit card payments not checking for a customer properly in Stripe.

### Version 2.2.1 - August 5, 2021

* Added notification to reconnect Stripe based on latest Stripe API upgrades.

### Version 2.2 - July 30, 2021

* Upgrading to Stripe Payment Intents API with Secure Customer Authentication and 3D Secure.
* Moving WooCommerce settings to the WooCommerce Payments area.
* Ensuring MemberPress is a PRO feature in all cases (not Business).
* Update to Freemius SDK pricing page.
* Adding option to remove all plugin data and DB entries on uninstall.

### Version 2.1.1 - May 04, 2021

* Fixed credit card payment form redirect issue.
* Fixed currency conversion API bug showing all the time.
* Fixed Alipay checkout icon size.
* Added improved freemium upgrade flow options.

### Version 2.1 - March 31, 2021

* Updated Settings UI.
* Currency conversion API now supports WooCommerce checkout.
* Bug fixes.
* Freemius SDK Update.

### Version 2.0 - January 22, 2021

* Modernized the WP Admin upgrade page.
* MemberPress integration.

### Version 1.5.7 - January 13, 2021

* Minor updates.

### Version 1.5.6 - January 8, 2021

* Fixed an issue with expiring WeChat QR codes.

### Version 1.5.5 - December 21, 2020

* Improving security and Freemius SDK version updated.

### Version 1.5.4 - September 1, 2020

* Adapted for WordPress 5.5.

### Version 1.5.3 - August 25, 2020

* Minor updates and security improvements.

### Version 1.5.2 - August 10, 2020

* Fixed Alipay logo size for WooCommerce checkout.

### Version 1.5.1 - July 30, 2020

* Added Alipay for WooCommerce.
* Designating thank you page for the payment form.
* Improving security and minor fixes.

### Version 1.5.0 - May 04, 2020

* Minor fixes.

### Version 1.4.9 - April 21, 2020

* Minor fixes.

### Version 1.4.8 - April 07, 2020

* Updated Translations.
* Fixed amounts for all payments methods.
* New logos and minor fixes.

### Version 1.4.7 - March 16, 2020

* WooCommerce integration.
* Alipay and WeChat Pay logos updated.

### Version 1.4.6 - March 04, 2020

* Minor update.

### Version 1.4.5 - March 02, 2020

* All JS files are now minified to improve speed.
* Stripe.js now will be called only on the payment page and not on other pages. another page.
* Some console errors were fixed.
* General bug fixes.

### Version 1.4.4 - February 17, 2020

* Fixing issues related to customer creation, webhooks and console warnings.

### Version 1.4.3

* Major bug fixes for webhooks.
* Improvements to saving customer data in Stripe.

### Version 1.4.2

* Mobile UX improvements.
* Shortcode modifications.
* Stripe Connect upgrades.

### Version 1.4.1

* Fixing webhook issues.

### Version 1.4

* Improvements in the Payment method forms.

### Version 1.3.9

* Minor upgrades regarding payments forms.

### Version 1.3.8

* Upgrade with minor changes.

### Version 1.3.7

* Minor fix and log updates.

### Version 1.3.6

* Minor updates and bug fixes.

### Version 1.3.4

* Log improvements and Bug fixes.

### Version 1.3.3

* BIG update!
* Added Stripe Connect.
* Added Currency conversion.
* Added UI checkout text.
* Added Phone number field.
* Creating a Customer in Stripe for payments.
* Error logging.
* Bug fixes.

### Version 1.3.2

* Adding readme info and updating plans.

### Version 1.3.1

* Bug fixing and improved mobile experience.

### Version 1.2.1

* Minor updates.

### Version 1.1.2

* Minor updates.

### Version 1.1.1 - March 3, 2019

* Our first version!
