*** Changelog ***

= 4.1.2 - 2026-08-04 =
* Enhancement - Advanced onboarding options for onboarding wizard #4496
* Enhancement - Improved buyer-facing card decline reason display #4509
* Enhancement - Add filter to allow Pay Later button and messaging when Vaulting is enabled #4508
* Enhancement - Handle PayPal API address data returned as an array instead of an object #4516
* Enhancement - Remove/Rework Cart Simulation #4473
* Enhancement - Remove Pay with Crypto promotional pricing messaging #4540
* Enhancement - Add filters to allow limiting of ingested/valid products #4547
* Enhancement - Validators need extraction from CheckoutEndpoint #4370
* Fix - invoice_id missing for existing customers paying with saved PayPal payment tokens #4541
* Fix - Fractional WooCommerce quantities truncated to 0, causing invalid PayPal line items and checkout failures #4530
* Fix - fraudnet.js: Uncaught ReferenceError PAYPAL is not defined on classic checkout when hosted_fields_loaded fires before fb.js loads #4520
* Fix - Saved PayPal token in subscription change-payment flow moves active subscription to pending #4536
* Fix - PHP warning in PayPal order tracking when WooCommerce Shipment Tracking sync reads non-array tracking metadata #4505
* Fix - OXXO description is missing by default #4479
* Fix - CHECKOUT.ORDER.APPROVED webhook fails with uncaught PayPalOrderMissingException causing HTTP 500 loop, pending orders and Apple Pay never captured #4534
* Fix - Block Checkout "Sign up now" button label not replaced with "Proceed to PayPal" #4440
* Fix - ppcp-local-alternative-payment-methods-css-gateway.css loads on every frontend page #4465
* Fix - ACDC edit order page shows Processor Response 0000:Approved on edit order page #4478
* Fix - Advanced Card Processing orders fail with "Order does not contain an id" error #4482
* Fix - Mexico Enable Installments not visible on Overview tab in Features section #4461
* Fix - Pay Later messaging tab merchant_identifier error showing until page reload when connecting manually #4459
* Fix - Duplicated WooCommerce orders #4387
* Fix - Google Pay / Apple Pay (Safari) button visible on PayPal gateway when Classic checkout removed from smart button location #4491
* Fix - Manual renewal subscription from frontend block express checkout renders empty Apple Pay and Google Pay div #4497
* Fix - Store Sync toggle missing when feature flag is active #4535
* Fix - Inconsistent PayPal button behavior for subscriptions on cart #4542
* Fix - Scope reCAPTCHA assets and markup to active PayPal payment locations #4548

= 4.1.1 - 2026-07-07 =
* Fix - Fix Pay upon Invoice gateway enqueued outside of checkout context with Block Mini Cart #4483
* Fix - Too many requests to merchant-integrations API endpoint #4490

= 4.1.0 - 2026-06-23 =
* Enhancement - New Vault Management Component for buyers with saved PayPal accounts to update funding instrument #4421
* Enhancement - Pay upon Invoice support for Block Checkout #4405
* Enhancement - OXXO support for Block Checkout #4381
* Enhancement - Show PayPal account or last card digits in payment method on order confirmation page & emails #4427
* Enhancement - Disable legacy "PayPal Standard" gateway when merchant account is connected to PayPal Payments #4463
* Fix - Third-party plugin gift cards not calculated on PayPal payment modal #4422
* Fix - Fix PayPal amount mismatch from inclusive-tax rounding #4425
* Fix - Negative fee calculation may result in a mismatch PayPal between the WooCommerce order total and the total amount paid via PayPal #4409
* Fix - Unsuccessful payment for vaulting subscription with ACDC from Block Checkout #4437
* Fix - Unsuccessful payment for vaulting subscriptions with 100% discount coupons (CANNOT_BE_ZERO_OR_NEGATIVE) #4452
* Fix - Unsuccessful payment for free trial vaulting subscription with acdc and PayPal #4439
* Fix - Vaulted ACDC saved-card checkout stuck in "payment pending" #4431
* Fix - PartnersEndpoint::seller_status() floods PayPal merchant-integrations endpoint with 403s #4430
* Fix - Avoid spamming OAuth requests when auth fails #4414
* Fix - Google Pay not rendered on variable product page #4433
* Fix - Simplify manual client ID validation to accommodate new Client ID format #4397
* Fix - Mismatch line item not delivered to PayPal overview transaction page #4426
* Fix - APM transaction links open paypal.com instead of sandbox.paypal.com in Sandbox mode #4418
* Fix - Coerce stored values in typed-bool getters and vault_enabled migration #4393
* Fix - Fix type casting for customer unique ID in session MD5 hash #4333
* Fix - Apple Pay fails on single product page when no shipping option is available #4375
* Fix - Settings notifications do not display on the PayPal Payments settings pages #4034
* Fix - Add missing "Show logos of supported cards" setting in the ACDC options #4380
* Fix - Phone number verification may fail #4448
* Fix - Saved payment methods display in continuation mode #4457
* Fix - Card payments with saved cards may fail in certain cases #4450

= 4.0.4 - 2026-05-19 =
* Enhancement - WooCommerce Blueprints integration to import & export the PayPal Payments configuration #4363
* Enhancement - PayPal redirect gateway now appears on Block checkout for Subscription-type products #4338
* Enhancement - updated render hooks for Apple Pay & Google Pay buttons on Classic Checkout to be consistent with PayPal #4350
* Enhancement - Improved error message for reCAPTCHA v2 challenge failures #4342
* Enhancement - Added ACDC card decline responses to WooCommerce order notes & checkout #4314
* Fix - Intermittent "Please choose product options..." error when adding variable product to the cart #4315
* Fix - Placeholder for Pay Later messaging in Block checkout editor when messaging failed to load #4302
* Fix - Error "Debit & Credit Cards is not available for this order" on Block checkout when buying PayPal Subscription #4351
* Fix - Unsuccessful payment for PayPal Subscriptions from Block cart & checkout #4343
* Fix - Branded-only mode persisted after uninstalling the plugin #4337
* Fix - Wrong payment method displayed on order edit page in some cases #4349
* Fix - Incorrect asset path for PayPalInsightsLoader.js caused console error #4293
* Fix - Auto-capture on status change did not work for non-express payments #4352
* Fix - Things to do next showed "Register Domain for Apple Pay" action item in branded-only mode #4296

= 4.0.3 - 2026-04-27 =
* Enhancement – consolidate disabled funding sources card decision #4216
* Enhancement – Hide Apple Pay Register Domain TODO when domain is already validated #4263
* Enhancement – Remove vault v2 code #4254
* Fix – Cart simulation causes checkout instability and cannot be disabled #4277
* Fix – Fix bool (false) in transients #4281
* Fix – Return HTTP 400 on nonce validation failures instead of 500 #4280
* Fix – AddressFactory::from_wc_order billing address #4279
* Fix – Duplicate WooCommerce orders created when buyer switches payment method at checkout #4276
* Fix – BCDC - Mexico - BCDC not visible on block checkout #4289
* Fix – Guest Cart appears empty when product is added from product page #4288
* Fix – APMS - Order with apms stay in pending status (iDeal, ...) #4294
* Fix – Failing ACDC payment for Free Trial subscription on classic checkout #4299
* Fix – Drop shipping when city is missing to prevent CITY_REQUIRED #4292

= 4.0.2 - 2026-04-02 =
* Fix – API rate limiting #4244

= 4.0.1 - 2026-03-31 =
* Enhancement – Removed legacy UI #4031
* Enhancement – Added migration banner guiding BCDC merchants through upgrade to Advanced Card Processing #4192
* Enhancement – Apple Pay and Google Pay can now be enabled independently, without requiring Advanced Card Processing (ACDC) to be active #4186
* Enhancement – Fastlane is now available in all ACDC-supported countries #4149
* Enhancement – Added Fastlane to reCAPTCHA-protected payment methods for improved fraud protection #4161
* Enhancement – Pay with Crypto is now enabled by default for eligible merchants #4171
* Enhancement – Added Pay Upon Invoice support to the new settings UI #4117, #4144
* Enhancement – Vaulting via Orders API now supported for redirect gateway in Block Checkout #4131
* Enhancement – Billing agreements can now be imported and converted to Vault tokens #4134
* Fix – PUI and OXXO settings were not preserved after upgrading from 2.9.6 to 4.0.0 #4194
* Fix – Merchant onboarding state was lost when upgrading from a previous version #4150
* Fix – BCDC was not enabled after migration for merchants who had it active but were not ACDC-eligible #4160
* Fix – BCDC button was not active after migration when BCDC was part of the PayPal gateway #4155, #4180
* Fix – Pay Later messaging tab was missing after migration when BCDC was part of the PayPal gateway #4159
* Fix – Capture virtual orders on status change setting was not preserved during migration #4157
* Fix – Cardholder name was always shown on the frontend after legacy migration #4167
* Fix – L2/L3 data was incorrectly sent when Stay Updated was disabled during migration #4168
* Fix – APM settings were not correctly migrated when APMs were part of the PayPal gateway #4182
* Fix – BCDC override flag was not functioning correctly #4177
* Fix – Capture on status change was not working as expected in the new UI #4169
* Fix – ACDC setting was not preserved after saving and reloading the settings page #4108
* Fix – ACDC was not enabled by default after onboarding for eligible countries #4128
* Fix – Standard card button gateway was incorrectly visible on the WooCommerce Payments tab and classic checkout #4118
* Fix – Google Pay and Apple Pay were visible on classic checkout for non-eligible countries #4137
* Fix – Save payment method checkbox was incorrectly shown for ACDC in unsupported countries #4176
* Fix – Pay with Crypto gateway was visible on checkout for ineligible merchants #4175
* Fix – Pay with Crypto cancel and return URL query parameters were not parsed correctly #4183
* Fix – Various Pay with Crypto fixes including icon update and miscellaneous issues #4187, #4172
* Fix – Fastlane watermark was not hidden when the "Display Fastlane Watermark" setting was disabled #4140
* Fix – Fastlane "Learn More" link was missing for GB and AU locales #4112
* Fix – PayPal buttons were not visible on the block cart page #4125
* Fix – Incorrect button style was shown on the Pay for Order page #4184, #4141
* Fix – Failed orders could not be paid via PayPal #4154
* Fix – Deposits remainder payments were not completed for pending-deposit orders #4100
* Fix – Infinite loop when changing payment method for a subscription #4085
* Fix – Fatal error on plugin upgrade due to ArgumentCountError in AuthenticationRestEndpoint #4090
* Fix – Fatal error on simulate cart calls #3769
* Fix – AVS code mismatch causing payment failures #4132
* Fix – BCDC-only merchants incorrectly had ACDC, Apple Pay, and Google Pay disabled #4088
* Fix – Removed Order Status requirement for PayPal payment processing #4185
* Fix – Refactored GermanizedShipmentIntegration to support Shiptastic #4061, #4193
* Fix - Do not increment step directly #4086

= 3.4.1 - 2026-03-05 =
* Fix - Performance issue in /v2/vault/payment-tokens/id #4098
* Fix - China Merchants ACDC and Vaulting Missing #4139

= 3.4.0 - 2026-02-10 =
* New - Level 2 and Level 3 card processing support for Advanced Credit and Debit Cards #3970, #3999
* Enhancement - PayPal Working Capital promotional messaging now available for eligible merchants #4048
* Enhancement - Improved reCAPTCHA logging to help troubleshoot blocked requests #3835
* Enhancement - Added direct link to plugin logs in settings for easier debugging #3743
* Enhancement - Restored woocommerce_gateway_description filter for gateway customization #3742
* Enhancement - Updated Pay Later messaging descriptions and settings #4012
* Enhancement - Improved onboarding step 4 title for ACDC regions #3998
* Enhancement - Add pattern validation and improve error messages for client credentials #4073
* Enhancement - Improve authentication error handling #4073
* Enhancement - Ensure webhook verification on production #4074
* Fix - Google Pay now correctly updates WooCommerce shipping address #3798
* Fix - Google Pay no longer shows shipping selection for virtual products #3797
* Fix - Google Pay shipping method now visible on product pages with empty cart #4030
* Fix - Google Pay edge-case that prevented it from working on all pages when Pay Now is disabled #3860
* Fix - Google Pay and Apple Pay buttons no longer disappear when changing the address in block checkout #3851
* Fix - Apple Pay now shows applied coupons correctly in payment popup #3838
* Fix - PayPal button in Mini Cart now works correctly on product pages #3745
* Fix - Fastlane email lookup now works when email is pre-populated from session #3637
* Fix - Fastlane no longer shown in settings for ineligible merchants #3872
* Fix - Duplicate PayPal captures and double stock reductions should no longer occur #3885
* Fix - Missing PayPal order ID meta data now saved for vaulted card transactions #4035
* Fix - "Instant payments only" toggle now uses correct setting value #3767
* Fix - Settings Overview tab now loads correctly for BCDC-only countries #3775
* Fix - Alternative Payment Methods now show correctly based on merchant eligibility #3864
* Fix - Payment method descriptions now display in block checkout for all gateways #3891
* Fix - Payment gateway icon sizing in Classic Checkout #3894
* Fix - "Disable Specific Credit Cards" option now hidden for BCDC countries #3653
* Fix - PHP warning when adding variable products via PayPal button #3849
* Fix - PHP 8.4 implicit nullable parameter deprecation warning #3996 (author @mondalaci)
* Fix - Translation loading timing issue with currency checks #3978 (author @mondalaci)
* Fix - Potential error when cart is accessed before initialization #3973
* Fix - Improved error handling for token validation failures #3986

= 3.3.2 - 2026-01-12 =
* Enhancement - Improved reCAPTCHA configuration to help protect your store and maintain compliance #3980, #3984
* Fix - Advanced Card Processing may temporarily become unavailable after updating the plugin #3983

= 3.3.1 - 2025-12-09 =
* Enhancement - reCAPTCHA Integration UX Improvements #3907
* Enhancement - Disable simulate-event endpoint for webhook verification #3908

= 3.3.0 - 2025-11-04 =
* Enhancement - Pay Later messaging & button auto-enabled for eligible Canadian merchants on 12th November, based on the STAY UPDATED preference. #3819
* Enhancement - Customizable reCAPTCHA implementation for PayPal endpoints #3829
* Fix - Fatal error in Visual Composer front-end editor due to strict $hook_suffix type #3815
* Fix - Pay Later Messaging settings tab not visible in some cases when updating to a previous plugin version #3812

= 3.2.1 - 2025-10-20 =
* Enhancement - Make plugin upgrade hooks safer #3789
* Enhancement - Webhook transient lock #3790

= 3.2.0 - 2025-10-15 =
* Enhancement - Enable AppSwitch and SSSC feature flags by default #3724
* Enhancement - Remove temporary Pay Later messaging auto-enablement logic #3680
* Enhancement - Align Fastlane currency support with ACDC matrix #3697
* Enhancement - Add hooks at the start of Create/Approve Order requests #3717
* Enhancement - Don't filter tokens on changing payment method of a subscription (author @gedex) #3617
* Enhancement - Reorganize ACDC and Fastlane gateway settings modals #3652
* Enhancement - Update PayPal Package Tracking Carriers List #3630
* Enhancement - Display help center section #3587
* Enhancement - Update Fastlane card placeholder design #3625
* Enhancement - Add Fastlane session restoration post payment failure #3598
* Fix - Check for messages visibility setting before rendering #3686
* Fix - Fatal error where a callback expects \WC_Payment_Gateway but got RequestHandler (author @gedex) #3660
* Fix - Continuation with PayPal subscriptions #3656
* Fix - Add fallback for getting subscription order address in classic contexts #3657
* Fix - Fastlane - UK and Australia - Add Fastlane to onboarding screen and four step #3635
* Fix - Check variation stock for all variable products #3605
* Fix - Google Pay button enabled state on variable product pages #3602
* Fix - Pay by link with PayPal error on front end when no shipping address #3627
* Fix - Sync checkout fields and headers in Fastlane flow #3628
* Fix - Classic checkout - Guest user - Trial vaulting subscription validation does not work #3663
* Fix - Prevent redirect on checkout failure for trial vaulting subscriptions #3644
* Fix - Contacts race condition in block #3518
* Fix - Add shipping-related filters to avoid MISSING_%field_name% errors #3586
* Fix - Continuation mode in Elementor checkout #3612

= 3.1.2 - 2025-09-30 =
* Change - Make migration available again #3710
* Fix - Override flag to keep BCDC for ACDC merchants during migration #3712
* Fix - Prevent rare fatal error when shipping address is missing #3655
* In branded-only mode, every merchant has BCDC #3713

= 3.1.1 - 2025-09-27 =
* Fix - Fix BCDC in branded-only mode #3699
* Fix - Restore BCDC button for ACDC merchants in legacy UI #3703
* Change - Remove all migration UX/notifications #3705

= 3.1.0 - 2025-09-02 =
* Enhancement - Fastlane now available for British & Australian merchants #3589
* Enhancement - Pay Later messaging now auto-enabled for eligible merchants based on the STAY UPDATED preference. Review the Pay Later settings to customize or disable. #3600
* Enhancement - Add buttons to copy merchant credentials in the Settings tab #3561
* Enhancement - Skip "Payment Methods" step for branded-only + BCDC and casual sellers #3547
* Enhancement - Add "Things to do next" item after settings migration #3536
* Enhancement - Phase 2: Settings Migration - Add Woo Inbox item #3599
* Enhancement - Create an API function for adding tracking info #3588
* Enhancement - Add polling mechanism for renderer wrapper to prevent race condition for Pay Later messaging #3577
* Enhancement - Status report entry for "New UI active" and "Branded only" #3539
* Fix - Apple Pay does not update shipping method or address changes on Classic Checkout #3524
* Fix - Prevent early is_enabled() check for Google Pay button in new UI #3566
* Fix - Subscriptions migrated from PPEC plugin to PayPal Payments fails on renewal #3549
* Fix - Google Pay transaction from block pages #3542
* Fix - Remove redundant authorize call in subscription renewal handler #3543
* Fix - Empty description handling and logo display for PayPal gateway not working as expected #3527
* Fix - When Apple Pay is enabled, empty space for Apple Pay button is showing on all pages if buyer is not eligible #3550
* Fix - Undefined properties error in checkout block #3551
* Fix - Make the state address data optional to fix non US-CA compatibility for Fastlane #3535
* Fix - Disable the card button if BCDC is disabled #3532
* Fix - Remove data-sdk-client-token field when not needed #3540
* Fix - "No PayPal order ID found in order meta" logged after using "Proceed to PayPal" on block checkout #3189
* Fix - Use is_acdc_enabled() to prevent ACDC interference with BCDC in non-ACDC countries #3594
* Fix - Remove the specified gateway when the button is disabled #3556

= 3.0.9 - 2025-07-31 =
* Fix - Payment via "Proceed to PayPal" may result in a redirect loop #3570

= 3.0.8 - 2025-07-28 =
* Enhancement - Migration from Legacy Settings to New Settings as opt-in via banner & button #3491
* Enhancement - Replace call to `billing-agreements/agreement-tokens` with checking the capabilities for Reference Transactions #3495
* Enhancement - Add Fastlane 3D Secure support #3493
* Enhancement - Improved PHP 8.4 compatibility #3534
* Fix - `INVALID_REQUEST` error due to wrong `landing_page` value after upgrade to 3.0.7 #3521
* Fix - Incorrect Amount via Express Payment for WooCommerce Product Bundles #3516
* Fix - Onboarding failed via "Connect to PayPal" in new UI due to race condition #3385
* Fix - Fatal error when PayPal Payments is active without WooCommerce #3502
* Fix - PayPal Subscription transaction failed in various scenarios #3515
* Fix - Rounding differences potentially lead to order failure (author @luzat) #3373
* Fix - Google Pay payment on block checkout may fail when ACDC is default payment selection #3506
* Fix - Product Prices Disappear in some cases when WooCommerce Subscriptions is active #3519

= 3.0.7 - 2025-07-01 =
* Enhancement - Remove `application_context` in favor of `experience_context` object #3431
 **NOTE**: If you were modifying the `application_context` object programmatically, you may need to update your code to utilize `experience_context` for your customizations.
* Enhancement - Add Contact Module feature
* Enhancement - Add WooCommerce Tracks integration
* Enhancement - Onboarding notification for Firefox browser #3433
* Enhancement - Reset BN code on plugin uninstall #3471
* Enhancement - Add "Stay updated with PayPal" option in the old and new settings UI #3430
* Enhancement - Add French Territories to the supported ACDC countries list #3438
* Enhancement - Auto-enable logging during onboarding #3369
* Fix - DUPLICATE_INVOICE_ID in Sandbox due to missing invoice prefix #3435
* Fix - Subscription product could not be unlinked from PayPal Subscription #3429
* Fix - PayPal button greyed out on single product page for variable products with >2 attributes #3395
* Fix - APMs automatically enabled despite selecting "No, ..." during onboarding #3362
* Fix - Ditch items logic does not work when using saved card payment #3476
* Fix - billing-agreements endpoint called too frequently when not enabled for Reference Transactions #3459

= 3.0.6 - 2025-05-27 =
* Enhancement - Implement 3D secure check for Google Pay #3163
* Enhancement - Add options for "Disable Credit Cards" and "Language" #3226
* Enhancement - Improve the loading experience for the new UI #3269
* Enhancement - Enhance the accessibility of the new Settings UI #3294
* Enhancement - Add capture pre-conditions for card payment source #3300
* Enhancement - Enable all/Disable all toggle next to Alternative Payment methods on Payment Methods tab #3321
* Enhancement - Add installment notifications for Mexico store locations #3404, #3405
* Fix - Various issues for Mexico store locations during onboarding & plugin configuration #3403
* Fix - APFS plugin triggers incorrect renewal date for simple products as subscriptions #3272
* Fix - PayPal Smart Button incompatible with WooCommerce Subscription Switching #3291
* Fix - Fastlane gateway visible on Pay for Order page #3293
* Fix - Pay Later Messaging configurator preview alignment #3305
* Fix - Product editing screen for variable products unresponsive (PayPal Subscriptions API error) #3311
* Fix - Update selector for hiding express checkout #3318
* Fix - 'Ignoring unknown key' console warnings when modifying payment gateway state #3322
* Fix - Ratepay Payment Option Not Available for Unassembled Product Bundles #3325
* Fix - "Disable Specific credit cards" shows "Select" as a possible value #3342
* Fix - Stripe not visible at checkout when PayPal Subscriptions API is enabled #3343
* Fix - Ensure correct ACDC behavior for non-ACDC countries (e.g., Vietnam) #3351
* Fix - ACDC payments for Subscriptions failing at checkout for new users #3355
* Fix - BCDC not enabled by default when cards selected during onboarding #3366
* Fix - Block checkout - Address form missing after payment on Product and Cart pages #3371
* Fix - Payments with Debit & Credit Cards failing #3376
* Fix - PayPalGateway::process_payment on completed order leads to order failure #3374
* Fix - New settings UI background color impacted by WooCommerce 9.9+ #3407
* Fix - Can not save payments if subscriptions is not selected when onboarding #3408

= 3.0.5 - 2025-04-23 =
* Fix - Onboarding screen blank when WooPayments plugin is active #3312

= 3.0.3 - 2025-04-08 =
* Fix - BN code was set before the installation path was initialized #3309
* Fix - Things to do next referenced Apple Pay while in branded-only mode #3308
* Fix - Disabled payment methods were not hidden in reactified WooCommerce Payments settings tab #3290

= 3.0.2 - 2025-04-03 =
* Enhancement - Check the branded-only flag when settings-UI is loaded the first time #3278
* Enhancement - Implement a Cache-Flush API #3276
* Enhancement - Disable the mini-cart location by default #3284
* Enhancement - Remove branded-only flag when uninstalling PayPal Payments #3295
* Fix - Welcome screen lists "all major credit/debit cards, Apple Pay, Google Pay," in branded-only mode #3281
* Fix - Correct heading in onboarding step 4 in branded-only mode #3282
* Fix - Hide the payment methods screen for personal user in branded-only mode #3286
* Fix - Enabling Save PayPal does not disable Pay Later messaging #3288
* Fix - Settings UI: Fix Feature button links #3285
* Fix - Create mapping for the 3d_secure_contingency setting #3262
* Fix - Enable Fastlane Watermark by default in new settings UI #3296
* Fix - Payment method screen is referencing credit cards, digital wallets in branded-only mode #3297

= 3.0.1 - 2025-03-26 =
* Enhancement - Include Fastlane meta on homepage #3151
* Enhancement - Include Branded-only plugin configuration for certain installation paths
* Enhancement - Include UI status in system report #3248
* Enhancement - Minor enhancements in new UI scrolling & highlighting behavior #3240
* Fix - "Warning: Class 'WooCommerce\PayPalCommerce\Vendor\Stringable' not found" after 3.0.0 update #3235
* Fix - ACDC does not work on the Classic Checkout when using the new UI #3219
* Fix - "Send only" country banner not displayed in the new UI #3236
* Fix - Typo in welcome screen #3258
* Fix - onboarding.js file from old UI enqueued in new UI #3263
* Fix - Onboarding in new UI with personal account does not hide all ineligible features #3254
* Fix - ACDC not defaulting on for eligible merchants after onboarding with Expanded Checkout selection #3250
* Fix - “Failed to fetch onboarding URL” error when onboarding with Subscriptions selected from non-Vault region #3242
* Fix - Fastlane SDK token requested when Fastlane is disabled #3009
* Fix - Subscription renewal payment via ACDC may fail in some cases due to 3D Secure #3098
* Fix - Error: _load_textdomain_just_in_time Called Incorrectly when running docker compose #3172
* Fix - Shipping callback not loading for guest users in some scenarios #3169
* Fix - Phone number not saved in WC order when using Pay Now experience #3160
* Fix - Phone number not pre-populated on Checkout block in continuation mode #3160
* Fix - "Unfortunately, your credit card details are not valid" shown with actually valid card during checkout with invalid postcode. #3067
* Fix - Incorrect Subscription Cancellation Handling with PayPal Subscriptions #3046
* Tweak - Added PayPal as contributor #3259

= 3.0.0 - 2025-03-17 =
* Enhancement - Redesigned settings UI for new users #2908
* Enhancement - Enable Fastlane by default on new store setups when eligible #3199
* Enhancement - Enable support for advanced card payments and features for Hong Kong & Singapore #3089
* Fix - Dependency conflict with more recent psr/log versions on PHP8+ #2993
* Fix - PayPal Checkout Gateway subscription migration layer not renewing subscriptions #2699
* Fix - Fatal error when gateway settings initialized too early by third-party plugin #2766
* Fix - Next Payment date for Subscriptions not updating when processing a PayPal Subscriptions renewal order #2959
* Fix - Changing the subscription payment method to ACDC triggers error #2891
* Fix - Standard Card button not appearing in standalone gateway for free trial subscription products #2935
* Fix - Validation error when using Trustly payment method #3031
* Fix - Error in continuation mode due to wrong gateway selection on Checkout block #2996
* Fix - Error in error in PayLaterConfigurator #2989
* Tweak - Removed currency requirement for Vault v3 #2919
* Tweak - Update plugin author from WooCommerce to PayPal

= 2.9.6 - 2025-01-06 =
* Fix - NOT_ENABLED_TO_VAULT_PAYMENT_SOURCE on PayPal transactions when using ACDC Vaulting without PayPal Vault approval #2955
* Fix - Express buttons for Free Trial Subscription products on Block Cart/Checkout trigger CANNOT_BE_ZERO_OR_NEGATIVE error #2872
* Fix - String translations not applied to Card Fields on Block Checkout #2934
* Fix - Fastlane component included in script when Fastlane is disabled #2911
* Fix - Zero amount line items may trigger CANNOT_BE_ZERO_OR_NEGATIVE error after rounding error #2906
* Fix - “Save changes” is grey and unclickable when switching from Sandbox to Live #2895
* Fix - plugin queries variations when button/messaging is disabled on single product page #2896
* Fix - Use get_id instead of get_order_number on setting custom_id (author @0verscore) #2930
* Enhancement - Improve fraud response order notes for Advanced Card Processing transactions #2905
* Tweak - Update the minimum plugin requirements to WordPress 6.5 & WooCommerce 9.2 #2920

= 2.9.5 - 2024-12-10 =
* Fix - Early translation loading triggers `Function _load_textdomain_just_in_time was called incorrectly.` notice #2816
* Fix - ACDC card fields not loading and payment not successful when Classic Checkout Smart Button Location disabled #2852
* Fix - ACDC gateway does not appear for guests when is Fastlane enabled and a subscription product is in the cart #2745
* Fix - "Voide authorization" button does not appear for Apple Pay/Google Pay orders when payment buttons are separated #2752
* Fix - Additional payment tokens saved with new customer_id #2820
* Fix - Vaulted payment method may not be displayed in PayPal button for return buyer #2809
* Fix - Conflict with EasyShip plugin due to shipping methods loading too early #2845
* Fix - Restore accidentally removed ACDC currencies #2838
* Enhancement - Native gateway icon for PayPal & Pay upon Invoice gateways #2712
* Enhancement - Allow disabling specific card types for Fastlane #2704
* Enhancement - Fastlane Insights SDK implementation for block Checkout #2737
* Enhancement - Hide split local APMs in Payments settings tab when PayPal is not enabled #2703
* Enhancement - Do not load split local APMs on Checkout when PayPal is not enabled #2792
* Enhancement - Add support for Button Options in the Block Checkout for Apple Pay & Google Pay buttons #2797 #2772
* Enhancement - Disable “Add payment method” button while saving ACDC payment #2794
* Enhancement - Sanitize soft_descriptor field #2846 #2854

= 2.9.4 - 2024-11-11 =
* Fix - Apple Pay button preview missing in Standard payment and Advanced Processing tabs #2755
* Fix - Set "Sold individually" only for subscription connected to PayPal #2710
* Fix - Ensure Google Pay button does not appear for subscriptions #2718
* Fix - PayPal Subscriptions API renewal order not created in WooCommerce #2612
* Fix - Apple Pay button disappears on Classic Checkout #2722
* Fix - Google Pay and Apple Pay as separate gateways does not show button when checkout remove from button locations #2756
* Fix - Add GW refund support for Apple Pay #2746
* Fix - PayPal Subscriptions cancel and suspend from Subscriptions list page does not work #2632
* Fix - Displaying of HTML tags in product title on choosing a product for tracking (2801) #2701
* Fix - Payment with OXXO cause continuation state for next payment #2702
* Fix - Fix problems with autoptimize plugin #2705
* Fix - Missing custom field PayPal Transaction Fee for OXXO #2700
* Enhancement - Add void button #2678
* Enhancement - Use basic redirect gateway when checkout smart buttons disabled #2714
* Enhancement - Receive button properties from the Checkout Block #2448
* Enhancement - Run PPEC\DeactivateNote query only in backend #2719
* Enhancement - Prevent plugin use for "Send only" countries #2721
* Enhancement - Do not add pay later button in editor #2570
* Enhancement - Axo: Remove the submit button when Fastlane is disabled #2720
* Enhancement - Sync the PayPal product page button state to Apple/Google Pay buttons, show alerts #2742

= 2.9.3 - 2024-10-15 =
* Fix - Multi-currency support #2667
* Fix - "0.00" amount in Google Pay for virtual products #2636
* Fix - Unsuccessfully payment from product page with Apple Pay button #2643
* Fix - Button Unlinking PayPal Subscriptions plan does not showing for simple subscription #2618
* Fix - Declare tokenization for ACDC only when vaulting enabled #2581
* Fix - Classic shortcode block type checks #2608
* Fix - PUI error in editor #2580
* Fix - Add a new namespaced script loader for ApplePay #2682 #2675
* Fix - Axo Block: Fix the Fastlane modal info message text overflow issue #2663
* Fix - Add Custom Placeholder Handling when rendering the card fields #2651
* Fix - Use the PayPal icons instead of WC ones #2639
* Fix - Google Pay preview config and style #2661
* Fix - Improve context detection #2631
* Fix - Check that get_the_ID is valid before using #2573
* Fix - Axo Block: Always display the Fastlane watermark in the includeAdditionalInfo mode #2690
* Fix - Axo Block: Display card fields for authenticated cardless profiles #2672
* Fix - Google Pay: Fix button preview in the editor #2688
* Fix - ACDC gateway not visible on the block Checkout for logged-out users #2693
* Enhancement - Enhancement - Add Fastlane support for Checkout block
* Enhancement - Multiple calls to POST /v1/oauth2/token?grant_type=client_credentials&response_type=id_token #2671
* Enhancement - Fastlane update shipping options & taxes when changing address #2665
* Enhancement - Axo: Remove Axo from the Checkout block in the editor and add an ACDC card preview #2662
* Enhancement - Set email when creating order for express payment #2577

= 2.9.2 - 2024-10-01 =
* Enhancement - Add Fastlane support for Classic Checkout
* Fix - Fatal error when Pay Later messaging configurator was disabled with a code snippet

= 2.9.1 - 2024-09-24 =
* Fix - Improve card fields hiding #2574
* Fix - Google Pay: Shipping callback not calculating totals correctly on Single Product page #2513
* Fix - Fix shipping callback condition in status report #2578
* Fix - Can't Disconnect Account #2539
* Fix - Google Pay billing data without shipping callback #2525
* Fix - Standard payment tab - Google Pay and Apple Pay button - Shape from one location is applied to all until saving changes #2419
* Enhancement - Allow to override the list of Pay Later supported countries #2563
* Enhancement - Add more feature statuses into system report #2550
* Enhancement - Use SVG for APM gateway icons #2509
* Enhancement - Add inline notice to inform users about ACDC block Checkout support if the store uses a Classic Checkout setup #2422
* Enhancement - Remove leftover console.log #2589
* Enhancement - Require PHP 7.4+, WP 6.3+, WC 6.9+ #2556
* Enhancement - Modularity module migration #1944
* Enhancement - Keep only 5 tags in readme.txt #2562
* Enhancement - Select ACDC by default during onboarding for China store locations #2619
* Enhancement - Add title, description and gatewayId to the express payment method #2566

= 2.9.0 - 2024-09-02 =
* Fix - Fatal error in Block Editor when using WooCommerce blocks #2534
* Fix - Can't pay from block pages when the shipping callback is enabled and no shipping methods defined #2429
* Fix - Various Google Pay button fixes #2496
* Fix - Buying a free trial subscription with ACDC results in a $1 charge in the API call #2465
* Fix - Problem with Google Pay and Apple Pay button placement on Pay for Order page #2542
* Fix - When there isn't any shipping option for the address the order is still created from classic cart #2437
* Fix - Patch the order with no shipping methods, instead of throwing an error #2435
* Enhancement - Separate Apple Pay button for Classic Checkout #2457
* Enhancement - Remove AMEX support for ACDC when store location is set to China #2526
* Enhancement - Inform users of Pay Later messaging configuration when Pay Later wasn't recently enabled #2529
* Enhancement - Update ACDC signup URLs #2475
* Enhancement - Implement country based APMs via Orders API #2511
* Enhancement - Update PaymentsStatusHandlingTrait.php (author @callmeahmedr) #2523
* Enhancement - Disable PayPal Shipping callback by default #2527
* Enhancement - Change Apple Pay and Google Pay default button labels to plain #2476
* Enhancement - Add Package Tracking compatibility with DHL Shipping plugin #2463
* Enhancement - Add support for WC Bookings when skipping checkout confirmation #2452
* Enhancement - Remove currencies from country-currency matrix in card fields module #2441

= 2.8.3 - 2024-08-12 =
* Fix - Google Pay: Prevent field validation from being triggered on checkout page load #2474
* Fix - Do not add tax info into order meta during order creation #2471
* Fix - PayPal declares subscription support when for Subscription mode is set Disable PayPal for subscription #2425
* Fix - PayPal js files loaded on non PayPal pages #2411
* Fix - Google Pay: Fix the incorrect popup triggering #2414
* Fix - Add tax configurator when programmatically creating WC orders #2431
* Fix - Shipping callback compatibility with WC Name Your Price plugin #2402
* Fix - Uncaught Error: Cannot use object of type ...\Settings as array in .../AbstractPaymentMethodType.php (3253) #2334
* Fix - Prevent displaying smart button multiple times on variable product page #2420
* Fix - Prevent enabling Standard Card Button when ACDC is enabled #2404
* Fix - Use client credentials for user tokens #2491
* Fix - Apple Pay: Fix the shipping callback #2492
* Enhancement - Separate Google Pay button for Classic Checkout #2430
* Enhancement - Add Apple Pay and Google Pay support for China, simplify country-currency matrix #2468
* Enhancement - Add AMEX support for Advanced Card Processing in China #2469

= 2.8.2 - 2024-07-22 =
* Fix - Sold individually checkbox automatically disabled after adding product to the cart more than once #2415
* Fix - All products "Sold individually" when PayPal Subscriptions selected as Subscriptions Mode #2400
* Fix - W3 Total Cache: Remove type from file parameter as sometimes null gets passed causing errors #2403
* Fix - Shipping methods during callback not updated correctly #2421
* Fix - Preserve subscription renewal processing when switching Subscriptions Mode or disabling gateway #2394
* Fix - Remove shipping callback for Venmo express button #2374
* Fix - Google Pay: Fix issue with data.paymentSource being undefined #2390
* Fix - Loading of non-Order as a WC_Order causes warnings and potential data corruption #2343
* Fix - Apple Pay and Google Pay buttons don't appear in PayPal Button stack on multi-step Checkout #2372
* Fix - Apple Pay: Fix when shipping is disabled #2391
* Fix - Wrong string in smart button preview on Standard Payments tab #2409
* Fix - Don't break orders screen when there is an exception for package tracking #2369
* Fix - Pay Later button preview is missing #2371
* Fix - Apple Pay button layout #2367
* Enhancement - Remove BCDC button from block Express Checkout area #2381
* Enhancement - Extend Advanced Card Processing country eligibility for China #2397

= 2.8.1 - 2024-07-01 =
* Fix - Don't render tracking metabox if PayPal order does not belong to connected merchant #2360
* Fix - Fatal error when the ppcp-paylater-configurator module is disabled via code snippet #2327
* Fix - Apple Pay & Google Pay buttons no longer visible in Standard Payments button previews after moving the configuration to Advanced Card Processing tab #2325
* Fix - Fix Smart Buttons on Elementor checkout widget #2284
* Fix - Pay by link - Capturing order from guest user causing fatal error when Vaulting is enabled #2382
* Fix - Enable the gateway settings JS file on connection tab #2377
* Enhancement - Add filter for certain settings to allow gateway translation e.g. via WPML #2308
* Enhancement - Filter for adding more contexts in can_render_dcc checker #2346
* Enhancement - Do not request id_token for guest users #2283
* Enhancement - Prevent multiple PayPal Subscription products in the cart if PayPal Subscription API is active #2320
* Enhancement - Prevent script caching & minification from Litespeed Cache and W3 Total Cache plugins #2316
* Enhancement - Remove Giropay references due to deprecation #2379

= 2.8.0 - 2024-06-11 =
* Fix - Calculate totals after adding shipping to include taxes #2296
* Fix - Package tracking integration throws error in 2.7.1 #2289
* Fix - Make PayPal Subscription products unique in cart #2265
* Fix - PayPal declares subscription support when merchant not enabled for Reference Transactions #2282
* Fix - Google Pay and Apple Pay Settings button from Connection tab have wrong links #2273
* Fix - Smart Buttons in Block Checkout not respecting the location setting (2830) #2278
* Fix - Disable Pay Upon Invoice if billing/shipping country not set #2281
* Fix - Critical error on pay for order page when we try to pay with ACDC gateway #2321
* Enhancement - Enable shipping callback for WC subscriptions #2259
* Enhancement - Disable the shipping callback for "venmo" when vaulting is active #2269
* Enhancement - Improve "Could not retrieve order" error message #2271
* Enhancement - Add block Checkout compatibility to Advanced Card Processing #2246

= 2.7.1 - 2024-05-28 =
* Fix - Ensure package tracking data is sent to original PayPal transaction #2180
* Fix - Set the 'Woo_PPCP' as a default value for data-partner-attribution-id #2188
* Fix - Allow PUI Gateway for refund processor #2192
* Fix - Notice on newly created block cart checkout #2211
* Fix - Apple Pay button in the editor #2177
* Fix - Allow shipping callback and skipping confirmation page from any express button #2236
* Fix - Pay Later messaging configurator sometimes displays old settings after saving #2249
* Fix - Update the apple-developer-merchantid-domain-association validation strings for Apple Pay #2251
* Fix - Enable the Shipping Callback handlers #2266
* Enhancement - Use admin theme color #1602

= 2.7.0 - 2024-04-30 =
* Fix - Zero sum subscriptions cause CANNOT_BE_ZERO_OR_NEGATIVE when using Vault v3 #2152
* Fix - Incorrect Pricing Issue with Variable Subscriptions in PayPal Subscriptions Mode #2156
* Fix - Wrong return_url in multisite setup when using subdomains #2157
* Fix - Fix the fundingSource is not defined error on Block Checkout #2185
* Enhancement - Add the data-page-type attribute for JS SDK #2161
* Enhancement - Save Card Last Digits in order meta for Advanced Card Payments #2149
* Enhancement - Refactor the Pay Later Messaging block and add dedicated Cart/Checkout blocks #2153
* Enhancement - "Next Payment" status not updated when using PayPal Subscriptions #2091
* Enhancement - Optimize default settings for new store configurations #2158
* Enhancement - Improve tooltip information for tagline #2154
* Enhancement - Improve error message on certain exceptions #1354
* Enhancement - Cart Pay Later block: Change the default insert position #2179
* Enhancement - Messages Bootstrap: Add a render retry functionality #2181

= 2.6.1 - 2024-04-09 =
* Fix - Payment tokens fixes and adjustments #2106
* Fix - Pay upon Invoice: Add input validation to Experience Context fields #2092
* Fix - Disable markup in get_plugin_data() returns to fix an issue with wptexturize() #2094
* Fix - Problem changing the shipping option in block pages #2142
* Fix - Saved payment token deleted after payment with another saved payment token #2146
* Enhancement - Pay later messaging configurator improvements #2107
* Enhancement - Replace the middleware URL from connect.woocommerce.com to api.woocommerce.com/integrations #2130
* Enhancement - Remove all Sofort references as it has been deprecated #2124
* Enhancement - Improve funding source names #2118
* Enhancement - More fraud prevention capabilities by storing additional data in the order #2125
* Enhancement - Update ACDC currency eligibility for AMEX #2129
* Enhancement - Sync shipping options with Venmo when skipping final confirmation on Checkout #2108
* Enhancement - Card Fields: Add a filter for the CVC field and update the placeholder to match the label #2089
* Enhancement - Product Title: Sanitize before sending to PayPal #2090
* Enhancement - Add filter for disabling permit_multiple_payment_tokens vault attribute #2136
* Enhancement - Filter to hide PayPal email address not working on order detail #2137

= 2.6.0 - 2024-03-20 =
* Fix - invoice_id not included in API call when creating payment with saved card #2086
* Fix - Typo in SCA indicators for ACDC Vault transactions #2083
* Fix - Payments with saved card tokens use Capture intent when Authorize is configured #2069
* Fix - WooPayments multi-currency causing currency mismatch error on Block Cart & Checkout pages #2054
* Fix - "Must pass createSubscription with intent=subscription" error with PayPal Subscriptions mode #2058
* Fix - "Proceed to PayPal" button displayed for Free trial PayPal Subscription products when payment token is saved #2041
* Fix - ACDC payments with new credit card may fail when debugging is enabled (JSON malformed by warning) #2051
* Enhancement - Add Pay Later Messaging block #1897
* Enhancement - Submit the form instead of refreshing the page to show the save notice #2081
* Enhancement - Integrate pay later messaging block with the messaging configurator #2080
* Enhancement - Reauthorize authorized payments #2062
* Enhancement - Do not handle VAULT.PAYMENT-TOKEN.CREATED webhook for Vault v3 #2079
* Enhancement - Improve the messaging configurator styles #2053
* Enhancement - Ensure PayPal Vaulting is not selected as Subscriptions Mode when Reference Transactions are disabled #2057
* Enhancement - Pay later messaging configurator & messaging block adjustments #2096

= 2.5.4 - 2024-02-27 =
* Fix - Cannot enable Apple Pay when API credentials were manually created #2015
* Fix - Cart simulation type error #1943
* Enhancement - Apple Pay recurring payments #1986
* Enhancement - Real Time Account Updater (RTAU) integration #2027
* Enhancement - Prepare the SKU for sending to PayPal #2033
* Enhancement - Store the Card Brand in Address Verification Result instead of 3DS authentication result #2026
* Enhancement - Update country eligibility for AdvancedCard Processing, Apple Pay, Google Pay #2019
* Enhancement - Disable PayPal Vaulting setting instead of hiding it when Reference Transactions not available #2029
* Enhancement - Store three d secure enrollment status and authentication status responses in wc order #1980
* Enhancement - Add more checks to prevent "PayPal order ID not found" errors #2038
* Enhancement - Disable messaging configurator when vault is enabled #2042
* Feature preview - Pay Later Messaging configurator #1924

= 2.5.3 - 2024-02-06 =
* Fix - Free trial subscription products using PayPal Vaulting when PayPal Subscriptions configured as Subscriptions Mode #1979
* Fix - Pay by link - Germany - PayPal buttons are not visible on Pay for order page #2014
* Enhancement - Extend Apple Pay, Google Pay, Vault v3 (& RTAU) country availability #1992
* Enhancement - Enable card fields for ACDC and Vault v3 supported countries/currencies #2007
* Enhancement - Update ACDC supported currencies list #1991
* Enhancement - Check if the $wpdb->wc_orders exists before query #1996
* Enhancement - Remove MercadoPago from disable funding sources #2003
* Enhancement - Improve onboarding notice text #2002

= 2.5.2 - 2024-02-01 =
* Fix - NOT_ENABLED_TO_VAULT_PAYMENT_SOURCE error for merchants without reference transactions #1984
* Fix - Fatal error in WooCommerce PayPal Payments plugin after 2.5.0 update #1985
* Fix - Can not refund order purchased with Vault v3 Card payment #1997
* Fix - PayPal Vaulting Subscriptions mode setting visible when merchant not enabled for Reference Transactions #1999
* Fix - card-fields parameter included in button script despite Advanced Card Processing disabled #2005
* Enhancement - Add setup URL for reference transactions #1964
* Enhancement - Improve PUI performance for variable products #1950

= 2.5.1 - 2024-01-24 =
* Temporary revert Vaulting integration changes introduced in 2.5.0

= 2.5.0 - 2024-01-22 =
* Fix - WC Subscriptions change subscription payment #1953
* Fix - GooglePay and ApplePay buttons disappear from the minicart when adding a product to the cart on the shop page #1915
* Enhancement - Enable Vault v3 and Card Fields by default for US merchants #1967
* Enhancement - Vault v3 WC Subscriptions integration #1920
* Enhancement - Implement early WC validation for Hosted Card Fields #1925
* Enhancement - Rename button locations #1946
* Enhancement - Improve Apple Pay validation notice text #1938
* Enhancement - Improve feature availability check UX #1941
* Enhancement - Make all hosted card fields strings translatable #1926
* Enhancement - PHP 8.2 deprecations #1939
* Enhancement - Subscription support on Block Cart & Block Express Checkout #1956
* Enhancement - Venmo Vaulting integration #1958
* Enhancement - Add package tracking support for UK #1970

= 2.4.3 - 2024-01-04 =
* Fix - PayPal Subscription initiated without a WooCommerce order #1907
* Fix - Block Checkout reloads when submitting order with empty fields #1904
* Fix - "Send checkout billing and shipping data to Apple Pay" displayed when Apple Pay is disabled #1883
* Fix - "Order does not contain intent" error for ACDC renewals when triggering 3D Secure #1888
* Fix - PayPal Subscriptions button greyed out (inactive) on Checkout page for variable subscription products #1914
* Enhancement - Add button to reload feature eligibility status from Connection tab #1902
* Enhancement - Apple Pay validation message improvements #1901
* Enhancement - Improve support for Classic Cart & Classic Checkout blocks #1894
* Enhancement - Ensure uniform button appearance for PayPal, Google Pay, and Apple Pay buttons #1900
* Enhancement - remove string translations for package tracking carriers from repository #1885
* Enhancement - Incorrect margins when PayPal buttons are rendered as separate gateways. #1908
* Enhancement - Improved button spacing when Apple Pay is enabled but current buyer is not eligible #1922
* Feature preview - Save payment methods (Vault v3) integration  #1779

= 2.4.2 - 2023-12-04 =
* Fix - Action callback arguments count in ShipStation tracking integration #1841
* Fix - Google Pay scripts loading on unrelated admin pages #1834
* Fix - Do not ignore disabled APMs list in blocks #1865
* Fix - Display Package Tracking metabox below Order actions when HPOS is active #1850
* Fix - ApplePay use checkout form data to update shipping and billing #1832
* Fix - Fix Apple Pay CSS #1872
* Enhancement - Allow redirect to PayPal with "Place order" button if smart buttons failed to load #1840 #1870
* Enhancement - Extend list of supported countries for Package Tracking v2 integration #1848
* Enhancement - Improve Block Theme support for Pay Later messaging #1855
* Enhancement - Render block buttons separately and add block style settings #1858
* Enhancement - Enable Block Cart and Block Express Checkout button locations by default #1852
* Enhancement - Improve single product page button placement with Block themes #1847
* Enhancement - Remove the Home location from default enabled Pay Later messaging locations #1856
* Enhancement - Chrome browser detected as eligible for Apple Pay on settings page #1828
* Enhancement - Hide Apple Pay & Google Pay for subscription type products #1835
* Enhancement - Add Standard Card Button gateway styling settings & preview #1827
* Feature preview - Upgrade to new Hosted Card Fields for Advanced Card Processing #1843

= 2.4.1 - 2023-11-14 =
* Fix - Error "PayPal order ID not found in meta" prevents automations from triggering when buying subscription via third-party payment gateway #1822
* Fix - Card button subscription support declaration #1796
* Fix - Pay Later messaging disappears when updating shipping option on cart page #1807
* Fix - Apple Pay payment from single product may fail after changing shipping options in Apple Pay payment sheet #1810
* Enhancement - Extend list of supported countries for Advanced Card Processing #1808
* Enhancement - Extend Apple Pay/Google Pay country eligibility to Italy #1811
* Enhancement - Override language used to display PayPal buttons #600
* Enhancement - Apple Pay button preview #1824
* Enhancement - Add Apple Pay & Google Pay logos on the onboarding page #1823
* Enhancement - Improve Apple Pay compatibility with variable products on single product page #1803
* Enhancement - Apple Pay domain registration & browser eligibility check #1821
* Enhancement - Package Tracking compatibility with WooCommerce Shipping & ShipStation for WooCommerce #1813
* Enhancement - Fill form when continuation in block #1794
* Enhancement - Display Shop location Pay Later messaging on product category pages #1809
* Enhancement - Present apple-developer-merchantid-domain-association file only when Apple Pay is enabled #1818
* Enhancement - Improve Apple Pay compatibility on Pay for Order page #1815
* Enhancement - Display Pay Later messages before the payment methods on the Pay for Order page #1814
* Enhancement - Handle undefined array key warnings on PHP 8.1 #1804

= 2.4.0 - 2023-10-31 =
* Fix - Mini-Cart Bug cause of wrong DOM-Structure in v2.3.1 #1735
* Fix - ACDC disappearing after plugin updates #1751
* Fix - Subscription module hooks #1748
* Fix - Ensure PayPal Subscriptions API products description is 1-127 characters #1738
* Fix - Add validation on the Plan Name field to not accept a blank value #1754
* Enhancement - Improve Pay Later messages and add Shop, Home locations #1770
* Enhancement - Use api-m PayPal API URLs #1740
* Enhancement - Google Pay Settings improvements #1719
* Enhancement - Apple Pay transaction improvements #1767
* Enhancement - Change default ACDC title #1750
* Enhancement - Cart simulation improvements #1753
* Enhancement - Billing schedule fields not greyed out when PayPal Subscriptions product is connected #1755
* Enhancement - Check validation errors when submitting in block #1528
* Enhancement - Improve handling of server error when submitting block #1785
* Enhancement - Extend Apple Pay country eligibility #1781
* Enhancement - Apple Pay validation notice improvements #1783
* Enhancement - Apple Pay payment process issues #1789
* Enhancement - Disable the tracking if payment is not captured #1780
* Enhancement - Place order button remains - Could not retrieve order #1786
* Enhancement - Google Pay for variable product greyed out but clickable #1788
* Enhancement - Merchant credential validation & remove PAYEE object #1795

= 2.3.1 - 2023-09-26 =
* Fix - Fatal error when saving product while WooCommerce Subscriptions plugin is not active #1731
* Fix - Validate tracking data only for add/update Package Tracking #1729
* Fix - Disable Package Tracking for order if transaction ID doesn't exist #1727

= 2.3.0 - 2023-09-26 =
* Fix - Plus sign in PayPal account email address gets converted to space #771
* Fix - Payment method dropdown option label on edit order screen for ppcp-gateway option displaying wrong name #1639
* Fix - WooCommerce Bookings products don't remain in Cart as a guest when PayPal button active on single product #1645
* Fix - Since version > 2.2.0 the PayPal Checkout button on single product pages does not redirect anymore #1664
* Fix - PayPal fee and PayPal Payout do not change on order if we do partial refund #1578
* Fix - Order does not contain intent error when using ACDC payment token while buyer is not present #1506
* Fix - Error when product description linked with a PayPal subscription exceeds 127 characters #1700
* Fix - $_POST uses the wrong key to hold the shipping method #1652
* Fix - WC Payment Token created multiple times when webhook is received #1663
* Fix - Subtotal mismatch line name shows on Account settings page when merchant is disconnected #1702
* Fix - Warning prevents payments on Pay for Order page when debugging is enabled #1703
* Fix - paypal-overlay-uid_ blocks page after closing PayPal popup on Pay for Order page | Terms checkbox validation fails on Pay for Order page #1704
* Enhancement - Add support for HPOS for tracking module #1676
* Enhancement - Billing agreements endpoint called too frequently for Reference Transactions check #1646
* Enhancement - Do not declare subscription support for PayPal when only ACDC vaulting #1669
* Enhancement - Apply Capture On Status Change only when order contains PayPal payment method #1595
* Enhancement - Do not use transient expiration longer than one month to support memcached #1448
* Enhancement - By disconnecting or disabling the plugin the connection should clear the Onboarding links from cache #1668
* Enhancement - Upgrade tracking integration #1562
* Enhancement - Include url & image_url in create order call #1649
* Enhancement - Add compat layer for Yith tracking #1656
* Enhancement - Improve invalid currency backend notice (1926) #1588
* Enhancement - Hide ACDC footer frame via CSS to avoid empty space #1613
* Enhancement - Compatibility with WooCommerce Product Add-Ons plugin #1586
* Enhancement - Remove "no shipment" message after adding tracking #1674
* Enhancement - Improve error & success validation messages #1675
* Enhancement - Compatibility with third-party "Product Add-Ons" plugins #1601
* Enhancement - PayPal logo flashes when switching between tabs #1345
* Enhancement - Include url & image_url in create order call #1649
* Enhancement - Include item_url & image_url to tracking call #1712
* Enhancement - Update strings for tracking metabox #1714
* Enhancement - Validate email address API credentials field #1691
* Enhancement - Set payment method title for order edit page only if our gateway #1661
* Enhancement - Fix missing Pay Later messages in cart + refactoring #1683
* Enhancement - Product page PP button keep loading popup - "wc_add_to_cart_params is not defined" error in WooCommerce #1655
* Enhancement - Remove PayPal Subscriptions API feature flag #1690
* Enhancement - Don't send image_url when it is empty #1678
* Enhancement - Subscription support depending on Vaulting setting instead of subscription mode setting #1697
* Enhancement - Wrong PayPal subscription id on vaulted subscriptions #1699
* Enhancement - Remove payment vaulted checker functionality (2030) #1711
* Feature preview - Apple Pay integration #1514
* Feature preview - Google Pay integration #1654

= 2.2.2 - 2023-08-29 =
* Fix - High rate of auth voids on vaulted subscriptions for guest users #1529
* Enhancement - HPOS compatibility issues #1594
* Feature preview - PayPal Subscriptions API fixes and improvements #1600 #1607

= 2.2.1 - 2023-08-24 =
* Fix - One-page checkout causes mini cart not showing the PP button on certain pages #1536
* Fix - When onboarding loading the return_url too fast may cause the onboarding to fail #1565
* Fix - PayPal button doesn't work for variable products on product page after recent 2.2.0 release #1533
* Fix - Send payee_preferred correctly for instant payments #1489
* Fix - Auto-disabled ACDC vaulting after updating to 2.1.0 #1490
* Fix - PayPal Payments serializing formData of array inputs #1501
* Fix - Buttons not working on single product page for WooCommerce Bookings product #1478
* Enhancement - PayPal Later message price amount doesn't update dynamically #1585
* Enhancement - Improve WC order creation in webhook #1530
* Enhancement - Refactor hosted fields for early card detection #1554
* Enhancement - Pay Later button and message get hidden when product/cart/checkout value is outside of range #1511
* Enhancement - Add link to manual credential docs #1430
* Enhancement - Validate Merchant ID field format when saving settings #1509
* Enhancement - Include soft descriptor for card's activity #1427
* Enhancement - Update Pay Later amount on the cart page and checkout when total changes #1441
* Enhancement - Log Subscription Mode configuration in system report #1507
* Enhancement - HPOS compatibility issues #1555
* Feature preview - PayPal Subscriptions API fixes and improvements #1443

= 2.2.0 - 2023-07-17 =
* Fix - Improve handling of APM payments when buyer did not return to Checkout #1233
* Fix - Use order currency instead of shop currency on order-pay page #1363
* Fix - Do not show broken card button gateway when no checkout location #1358
* Fix - Smart buttons not greyed out/removed on single product when deselecting product variation #1469
* Fix - Type error with advanced columns pro #1367
* Fix - Undefined array key 0 when checking $retry_errors in process_payment method #1375
* Fix - Advanced Card Processing gateway becomes invisible post-plugin update unless admin pages are accessed once #1432
* Fix - Incompatibility with WooCommerce One Page Checkout (or similar use cases) in Version 2.1.0 #1473
* Fix - Prevent Repetitive Token Migration and Database Overload After 2.1.0 Update #1461
* Fix - Onboarding from connection page with CSRF parameter manipulates email and merchant id fields #1502
* Fix - Do not complete non-checkout button orders via webhooks #1513
* Enhancement - Remove feature flag requirement for express cart/checkout block integration #1483
* Enhancement - Add notice when shop currency is unsupported #1433
* Enhancement - Improve ACDC error message when empty fields #1360
* Enhancement - Do not exclude free items #1362
* Enhancement - Trigger WC checkout_error event #1384
* Enhancement - Update wording in buttons previews #1408
* Enhancement - Filter to conditionally block the PayPal buttons #1485
* Enhancement - Display funding source on the admin order page #1450
* Enhancement - Update system report plugin status for Vaulting #1471
* Enhancement - Revert Elementor Pro Checkout hook compatibility #1482

= 2.1.0 - 2023-06-13 =
* Fix - Performance issue #1182
* Fix - Webhooks not registered when onboarding with manual credentials #1223
* Fix - Boolean false type sent as empty value when setting cache #1313
* Fix - Ajax vulnerabilities #1411
* Enhancement - Save and display vaulted payment methods in WC Payment Token API #1059
* Enhancement - Cache webhook verification results #1379
* Enhancement - Refresh checkout totals after validation if needed #1294
* Enhancement - Improve Divi and Elementor Pro compatibility #1254
* Enhancement - Add MX and JP to ACDC #1415
* Enhancement - Add fraudnet script to SGO filter #1366
* Feature preview - Add express cart/checkout block #1346
* Feature preview - Integrate PayPal Subscriptions API #1217

= 2.0.5 - 2023-05-31 =
* Fix - Potential invalidation of merchant credentials #1339

= 2.0.4 - 2023-04-03 =
* Fix - Allow Pay Later in mini-cart #1221
* Fix - Duplicated auth error when credentials become wrong #1229
* Fix - Webhook issues when switching sandbox, and delete all webhooks when unsubscribing #1239
* Fix - High volume of traffic from merchant-integrations endpoint #1273
* Fix - Add content type json to all fetch ajax endpoints #1275
* Enhancement - Remove shortcodes from description #1226
* Enhancement - Handle price suffix with price for product button check #1234
* Enhancement - Show funding source as payment method #1220
* Enhancement - Change "Enabled" to "Available" in status text #1237
* Enhancement - Programmatically capturing/voiding authorized payments #590

= 2.0.3 - 2023-03-14 =
* Fix - `DEVICE_DATA_NOT_AVAILABLE` error message when FraudNet is enabled #1177
* Fix - Redirect to connection tab after manual credentials input #1201
* Fix - Asking for address fields in checkout when not using them #1089
* Fix - Validate before free trial #1170
* Fix - Validate new user creation #1131
* Fix - After Updating to 2.0.2, Site Health reports REST API error #1195
* Fix - Do not send buyer-country for previews in live mode to avoid error #1186
* Fix - PPEC compatibility layer does not take over subscriptions #1193
* Fix - Checkout conflict with "All products for subscriptions" plugin #629
* Fix - Pay Later on order pay page #1214
* Fix - High volume of traffic from merchant-integrations endpoint #1241
* Enhancement - Save checkout form before free trial redirect #1135
* Enhancement - Add filter for controlling the ditching of items/breakdown #1146
* Enhancement - Add patch order data filter #1147
* Enhancement - Add filter for disabling fees on wc order admin pages #1153
* Enhancement - Use wp_loaded for fraudnet loading to avoid warnings #1172
* Enhancement - reCaptcha for WooCommerce support #1093
* Enhancement - Make it possible to hide missing funding resource Trustly #1155
* Enhancement - Add white color option #1167
* Enhancement - Checkout validation for other fields #861
* Enhancement - Mention PUI only for German shops and add line breaks #1169
* Enhancement - Add filter to fallback tracking_data['carrier'] #1188
* Enhancement - Error notices in checkout do not update / or are shown twice #1168
* Enhancement - capture authorized payment by changing order status (or programmatically) #587

= 2.0.2 - 2023-01-31 =
* Fix - Do not call PayPal get order by ID if it does not exist #1029
* Fix - Type check error conflict with German Market #1056
* Fix - Backend Storage for the PayPalRequestIdRepository does not scale #983
* Fix - Ensure WC()->payment_gateways is not null #1128
* Enhancement - Remove plugin data after uninstalling #1075
* Enhancement - Add FraudNet to all payments #1040
* Enhancement - Update "Standard Payments" tab settings #1065
* Enhancement - Update PHP 7.2 requirement in all relevant files #1084
* Enhancement - When PUI is enabled FraudNet should be also enabled #1129
* Enhancement - Add PayPal-Request-Id if payment source exist #1132

= 2.0.1 - 2022-12-13 =
* Fix - Error while syncing tracking data to PayPal -> Sync GZD Tracking #1020
* Fix - Fix product price retrieval for variable product buttons #1000
* Fix - All tabs hidden on OXXO tab visit #1048
* Fix - WooCommerce Germanized Invoice bug #1017
* Fix - Fix shipping address validation #1047
* Fix - Trigger WC JS validation on button click to highlight empty fields #1004
* Fix - Fix PHP 8.1 deprecated error #1009
* Fix - Wrong asset path Germanized compat #1051
* Fix - Fix DCC error messages handling #1035
* Fix - Execute WC validation only for smart buttons in checkout #1074
* Enhancement - Param types removed in closure to avoid third-party issues #1046

= 2.0.0 - 2022-11-21 =
* Add - Option to separate JSSDK APM payment buttons into individual WooCommerce gateways #671
* Add - OXXO APM (Alternative Payment Method) #684
* Add - Pay Later tab #961
* Add - Button preview in settings #929
* Fix - Prevent Enter key submit for our non-standard button gateways #981
* Fix - Pay Upon Invoice - Stock correction on failed orders #964
* Fix - Check that WC session exists before using it #846
* Fix - Compatibility with One Page Checkout Extension #356
* Fix - Tracking status filter sending wrong parameter #970
* Enhancement - Compatibility with WC High-Performance Order Storage #933
* Enhancement - PHP 8.1 warning: Constant FILTER_SANITIZE_STRING is deprecated #867
* Enhancement - Execute server-side WC validation when clicking button #942
* Enhancement - Update order with order note if payment failed after billing agreement canceled at PayPal #886
* Enhancement - Missing PUI refund functionality from WC order #937
* Enhancement - Hide Pay upon Invoice tab if not available for merchant #978
* Enhancement - Handle synced sub without upfront payment like free trial #936
* Enhancement - Isolate container and modularity deps #972
  **NOTE**: if you were extending/modifying the plugin using the modularity system,
  you will need to add the `WooCommerce\PayPalCommerce\Vendor\`  prefix for the container/modularity namespaces in your code,
  that is `Psr\Container\ContainerInterface` becomes `WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface`,
  and `Dhii\Modular\Module\ModuleInterface` becomes `WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface`.
* Enhancement - PUI gateway displayed on pay for order page when mandatory billing fields are left empty or country is unsupported #966
* Enhancement - When Brand Name field is left empty, PUI purchase fails #916
* Enhancement - Improve styling when using separate buttons #996

= 1.9.5 - 2022-11-01 =
* Fix - Invalid tracking number in logs when adding tracking #903
* Fix - Tracking on Connection tab always enabled #900
* Fix - PUI payment instructions printed in the refund email #873
* Fix - Fix `thankyou_order_received` filter usage #899
* Enhancement - Add SCA payment indicator for credit card renewals #847
* Enhancement - Rename plugin settings tabs #893
* Enhancement - Hide order button via class #921
* Enhancement - Tracking integration compatibility with Germanized plugin #883
* Enhancement - Onboarding buttons must be clicked multiple times after using PUI checkbox #851
* Enhancement - Ratepay payment instructions added to non Pay upon Invoice orders #892
* Enhancement - During PayPal express checkout PUI js file is loaded #905
* Enhancement - PayPal Transaction Key meta field not populated for PUI payments #897
* Enhancement - Onboard with PUI Checkbox automatically set when shop is set to Germany #876
* Enhancement - Update all plugin strings #946

= 1.9.4 - 2022-10-11 =
* Add - Create new connection tab #801
* Add - Functionality to choose subscription failure behavior #728
* Fix - Virtual-only orders always move order status to completed #868
* Fix - PayPal order created twice when context is checkout #832
* Enhancement - Handle unsupported browsers better #843
* Enhancement - Combine the Webhooks Status page into a new Connection tab (891) #827
* Enhancement - Hide PayPal Card Processing tab if not available in country or for merchant #870
* Enhancement - Resubscribe webhooks on plugin upgrades #838
* Enhancement - PUI-relevant webhook not subscribed to #842
* Enhancement - Remove WC logo during onboarding #881

= 1.9.3 - 2022-08-31 =
* Add - Tracking API #792
* Fix - Improve compatibility with Siteground Optimizer plugin #797
* Fix - Transaction ID in order not updated when manually capturing authorized payment from WC #766
* Fix - Failed form validation on Checkout page causing page to be sticky #781
* Fix - Do not include full path in exception #779
* Fix - PUI conflict with Germanized plugin and taxes #808
* Enhancement - Enable ACDC by default only in locations where WooCommerce Payments is not available #799
* Enhancement - Add links to docs & support in plugin #782
* Enhancement - Put gateway sub-options into tabs #772
* Enhancement - Show tabs only after onboarding #789
* Enhancement - Add header on settings page #790
* Enhancement - PUI add option for a phone number field next to the Birth Date field #742
* Enhancement - PUI gateway availability on pay for order page with unsupported currency #744

= 1.9.2 - 2022-08-09 =
* Fix - Do not allow birth date older than 100 years for PUI. #743
* Fix - Store the customer id for vaulted payment method in usermeta to not lose vaulted methods after the invoice prefix change. #698
* Fix - Capture Virtual-Only Orders setting did not auto-capture subscription renewal payments. #626
* Fix - Voiding authorization at PayPal did not update the status/order notes. #712
* Fix - PayPal scripts were loading on pages without smart buttons or Pay Later messaging. #750
* Fix - Do not show links for unavailable gateways settings pages. #753
* Fix - The smart buttons were not loaded on single product page if a subscription product exists in the cart. #703
* Fix - DCC was causing other gateways to disappear after checkout validation error. #757
* Fix - Buttons not loading on single product page with default settings when product is in cart. #777
* Enhancement - Improve Checkout Field Validation Message. #739
* Enhancement - Handle PAYER_ACTION_REQUIRED error. #759

= 1.9.1 - 2022-07-25 =
* Fix - ITEM_TOTAL_MISMATCH error when checking out with multiple products #721
* Fix - Unable to purchase a product with Credit card button in pay for order page #718
* Fix - Pay Later messaging only displayed when smart button is active on the same page #283
* Fix - Pay Later messaging displayed for out of stock variable products or with no variation selected #667
* Fix - Placeholders and card type detection not working for PayPal Card Processing (260) #685
* Fix - PUI gateway is displayed with unsupported store currency #711
* Fix - Wrong PUI locale sent causing error PAYMENT_SOURCE_CANNOT_BE_USED #741
* Enhancement - Missing PayPal fee in WC order details for PUI purchase #714
* Enhancement - Skip loading of PUI js file on all pages where PUI gateway is not displayed #723
* Enhancement - PUI feature capitalization not consistent #724

= 1.9.0 - 2022-07-04 =
* Add - New Feature - Pay Upon Invoice (Germany only) #608
* Fix - Order not approved: payment via vaulted PayPal account fails #677
* Fix - Cant' refund : "ERROR Refund failed: No country given for address." #639
* Fix - Something went wrong error in Virtual products when using vaulted payment #673
* Fix - PayPal smart buttons are not displayed for product variations when parent product is set to out of stock #669
* Fix - Pay Later messaging displayed for out of stock variable products or with no variation selected #667
* Fix - "Capture Virtual-Only Orders" intent sets virtual+downloadable product orders to "Processing" instead of "Completed" #665
* Fix - Free trial period causing incorrerct disable-funding parameters with DCC disabled #661
* Fix - Smart button not visible on single product page when product price is below 1 and decimal is "," #654
* Fix - Checkout using an email address containing a + symbol results in a "[INVALID_REQUEST]" error #523
* Fix - Order details are sometimes empty in PayPal dashboard #689
* Fix - Incorrect TAX details on PayPal order overview #541
* Fix - Fatal error: Uncaught Error: Call to a member function get_name() on bool #622
* Fix - DCC causes checkout continuation state after checkout validation error #695
* Enhancement - Improve checkout validation & order creation #513

= 1.8.1 - 2022-05-31 =
* Fix - Manual orders return an error for guest users when paying with PayPal Card Processing #530
* Fix - "No PayPal order found in the current WooCommerce session" error for guests on Pay for Order page #605
* Fix - Error on order discount by third-party plugins #548
* Fix - Empty payer data may cause CITY_REQUIRED error for certain checkout countries #632
* Fix - Mini Cart smart buttons visible after adding subscription product to cart from "shop" page while Vaulting is disabled #624
* Fix - Smart buttons not loading when free product is in cart but shipping costs are available #606
* Fix - Smart button & Pay Later messaging disappear on the cart page after changing shipping method #288
* Fix - Disabling PayPal Checkout on the checkout page also removes the button from the Cart and Product Pages #577
* Fix - Partial refunds via PayPal are created twice/double in WooCommerce order #522
* Fix - Emoji in product description causing INVALID_STRING_LENGTH error #491
* Enhancement - Vaulting & Pay Later UI/UX #174
* Enhancement - Redirect after updating settings for DCC sends you to PPCP settings screen #392
* Enhancement - Add Fraud Processor Response as an order note #616
* Enhancement - Add the Paypal Fee to the Meta Custom Field for export purposes #591

= 1.8.0 - 2022-05-03 =
* Add - Allow free trial subscriptions #580
* Fix - The Card Processing does not appear as an available payment method when manually creating an order #562
* Fix - Express buttons & Pay Later visible on variable Subscription products /w disabled vaulting #281
* Fix - Pay for order (guest) failing when no email address available #535
* Fix - Emoji in product description causing INVALID_STRING_LENGTH error #491
* Enhancement - Change cart total amount that is sent to PayPal gateway #486
* Enhancement - Include dark Visa and Mastercard gateway icon list for PayPal Card Processing #566
* Enhancement - Onboarding errors improvements #558
* Enhancement - "Place order" button visible during gateway load time when DCC gateway is selected as the default #560

= 1.7.1 - 2022-04-06 =
* Fix - Hide smart buttons for free products and zero-sum carts #499
* Fix - Unprocessable Entity when paying with AMEX card #516
* Fix - Multisite path doubled in ajax URLs #528
* Fix - "Place order" button looking unstyled in the Twenty Twenty-Two theme #478
* Fix - PayPal options available on minicart when adding subscription to the cart from shop page without vaulting enabled #518
* Fix - Buttons not visible on products page #551
* Fix - Buttons not visible in mini-cart #553
* Fix - PayPal button missing on pay for order page #555
* Enhancement - PayPal buttons loading time #533
* Enhancement - Improve payment token checking for subscriptions #525
* Enhancement - Add Spain and Italy to messaging #497

= 1.7.0 - 2022-02-28 =
* Fix - DCC orders randomly failing #503
* Fix - Multi-currency broke #481
* Fix - Address information from PayPal shortcut flow not loaded #451
* Fix - WooCommerce as mu-plugin is not detected as active #461
* Fix - Check if PayPal Payments is an available gateway before displaying it on Product/Cart pages #447
* Enhancement - Improve onboarding flow, allow no card processing #443 #508 #510
* Enhancement - Add Germany to supported ACDC countries #459
* Enhancement - Add filters to allow ACDC for countries #437
* Enhancement - Update 3D Secure #464
* Enhancement - Extend event, error logging & order notes #456
* Enhancement - Display API response errors in checkout page with user-friendly error message #457
* Enhancement - Pass address details to credit card fields #479
* Enhancement - Improve onboarding notice #465
* Enhancement - Add transaction ID to WC order and order note when refund is received #473
* Enhancement - Asset caching may cause bugs on upgrades #501
* Enhancement - Allow partial capture #483
* Enhancement - PayPal Payments doesn't set transaction fee metadata #467
* Enhancement - Show PayPal fee information in order #489

= 1.6.5 - 2022-01-31 =
* Fix - Allow guest users to purchase subscription products from checkout page #422
* Fix - Transaction ID missing for renewal order #424
* Fix - Save your credit card checkbox should be removed in pay for order for subscriptions #420
* Fix - Null currency error when the Aelia currency switcher plugin is active #426
* Fix - Hide Reference Transactions check from logs #428
* Fix - Doubled plugin module URL path causing failure #438
* Fix - is_ajax deprecated #441
* Fix - Place order button from PayPal Card Processing does not get translated #290
* Fix - AMEX missing from supported cards for DCC Australia #432
* Fix - "Save your Credit Card" text not clickable to change checkbox state #430
* Fix - Improve DCC error notice when not available #435
* Enhancement - Add View Logs link #416

= 1.6.4 - 2021-12-27 =
* Fix - Non admin user cannot save changes to the plugin settings #278
* Fix - Empty space in invoice prefix causes smart buttons to not load #390
* Fix - woocommerce_payment_complete action not triggered for payments completed via webhook #399
* Fix - Paying with Venmo - Change funding source on checkout page and receipt to Venmo  #394
* Fix - Internal server error on checkout when selected saved card but then switched to paypal #403
* Enhancement - Allow formatted text for the Description field #407
* Enhancement - Remove filter to prevent On-Hold emails #411

= 1.6.3 - 2021-12-14 =
* Fix - Payments fail when using custom order numbers #354
* Fix - Do not display saved payments on PayPal buttons if vault option is disabled #358
* Fix - Double "Place Order" button #362
* Fix - Coupon causes TAX_TOTAL_MISMATCH #372
* Fix - Funding sources Mercado Pago and BLIK can't be disabled #383
* Fix - Customer details not available in order and name gets replaced by xxx@dcc2.paypal.com #378
* Fix - 3D Secure failing for certain credit card types with PayPal Card Processing #379
* Fix - Error messages are not cleared even when checkout is re-attempted (DCC) #366
* Add - New additions for system report status #377

= 1.6.2 - 2021-11-22 =
* Fix - Order of WooCommerce checkout actions causing incompatibility with AvaTax address validation #335
* Fix - Can't checkout to certain countries with optional postcode #330
* Fix - Prevent subscription from being purchased when saving payment fails #308
* Fix - Guest users must checkout twice for subscriptions, no smart buttons loaded #342
* Fix - Failed PayPal API request causing strange error #347
* Fix - PayPal payments page empty after switching packages #350
* Fix - Could Not Validate Nonce Error #239
* Fix - Refund via PayPal dashboard does not set the WooCommerce order to "Refunded" #241
* Fix - Uncaught TypeError: round() #344
* Fix - Broken multi-level (nested) associative array values after getting submitted from checkout page #307
* Fix - Transaction id missing in some cases #328
* Fix - Payment not possible in pay for order form because of terms checkbox missing #294
* Fix - "Save your Credit Card" shouldn't be optional when paying for a subscription #368
* Fix - When paying for a subscription and vaulting fails, cart is cleared #367
* Fix - Fatal error when activating PayPal Checkout plugin #363

= 1.6.1 - 2021-10-12 =
* Fix - Handle authorization capture failures #312
* Fix - Handle denied payment authorization #302
* Fix - Handle failed authorizations when capturing order #303
* Fix - Transactions cannot be voided #293
* Fix - Fatal error: get_3ds_contingency() #310

= 1.6.0 - 2021-09-29 =
* Add - Webhook status. #246 #273
* Add - Show CC gateway in admin payments list. #236
* Add - Add 3d secure contingency settings. #230
* Add - Improve logging. #252 #275
* Add - Do not send payee email. #231
* Add - Allow customers to see and delete their saved payments in My Account. #274
* Fix - PayPal Payments generates multiple orders. #244
* Fix - Saved credit card does not auto fill. #242
* Fix - Incorrect webhooks registration. #254
* Fix - Disable funding credit cards affecting hosted fields, unset for GB. #249
* Fix - REFUND_CAPTURE_CURRENCY_MISMATCH on multicurrency sites. #225
* Fix - Can't checkout to certain countries with optional postcode. #224

= 1.5.1 - 2021-08-19 =
* Fix - Set 3DS contingencies to "SCA_WHEN_REQUIRED". #178
* Fix - Plugin conflict blocking line item details. #221
* Fix - WooCommerce orders left in "Pending Payment" after a decline. #222
* Fix - Do not send decimals when currency does not support them. #202
* Fix - Gateway can be activated without a connected PayPal account. #205

= 1.5.0 - 2021-08-09 =
* Add - Filter to modify plugin modules list. #203
* Add - Filters to move PayPal buttons and Pay Later messages. #203
* Fix - Remove redirection when enabling payment gateway with setup already done. #206
* Add - PayPal Express Checkout compatibility layer. #207
* Fix - Use correct API to obtain credit card icons. #210
* Fix - Hide mini cart height field when mini cart is disabled. #213
* Fix - Address possible error on frontend pages due to an empty gateway description. #214

= 1.4.0 - 2021-07-27 =
* Add - Venmo update #169
* Add - Pay Later Button –Global Expansion #182
* Add - Add Canada to advanced credit and debit card #180
* Add - Add button height setting for mini cart #181
* Add - Add BN Code to Pay Later Messaging #183
* Add - Add 30 seconds timeout by default to all API requests #184
* Fix - ACDC checkout error: "Card Details not valid"; but payment completes #193
* Fix - Incorrect API credentials cause fatal error #187
* Fix - PayPal payment fails if a new user account is created during the checkout process #177
* Fix - Disabled PayPal button appears when another button is loaded on the same page #192
* Fix - [UNPROCESSABLE_ENTITY] error during checkout #172
* Fix - Do not send customer email when order status is on hold #173
* Fix - Remove merchant-id query parameter in JSSDK #179
* Fix - Error on Plugin activation with Zettle POS Integration for WooCommerce #195

= 1.3.2 - 2021-06-08 =
* Fix - Improve Subscription plugin support. #161
* Fix - Disable vault setting if vaulting feature is not available. #150
* Fix - Cast item get_quantity into int. #168
* Fix - Fix Credit Card form fields placeholder and label. #146
* Fix - Filter PayPal-supported language codes. #154
* Fix - Wrong order status for orders with contain only products which are both virtual and downloadable. #145
* Fix - Use order_number instead of internal id when creating invoice Id. #163
* Fix - Fix pay later messaging options. #141
* Fix - UI/UX for vaulting settings. #166

= 1.3.1 - 2021-04-30 =
* Fix - Fix Credit Card fields for non logged-in users. #152

= 1.3.0 - 2021-04-28 =
* Add - Client-side vaulting and allow WooCommerce Subscriptions product renewals through payment tokens. #134
* Add - Send transaction ids to woocommerce. #125
* Fix - Validate checkout form before sending request to PayPal #137
* Fix - Duplicate Invoice Id error. #143
* Fix - Unblock UI if Credit Card payment failed. #122
* Fix - Detected container element removed from DOM. #123
* Fix - Remove disabling credit for UK. #127
* Fix - Show WC message on account creating error. #136

= 1.2.1 - 2021-03-08 =
* Fix - Address compatibility issue with Jetpack.

= 1.2.0 - 2021-03-08 =
* Add - Rework onboarding code and add REST controller for integration with the OBW. #121
* Fix - Remove spinner on click, on cancel and on error. #124

= 1.1.0 - 2021-02-01 =
* Add - Buy Now Pay Later for UK. #104
* Add - DE now has 12 month installments. #106
* Fix - Check phone for empty string. #102

= 1.0.4 - 2021-01-18 =
* Fix - Check if WooCommerce is active before initialize. #99
* Fix - Payment buttons only visible on order-pay site when Mini Cart is enabled; payment fails. #96
* Fix - High volume of failed calls to /v1/notifications/webhooks #93
* Fix - GB country has ACDC blocked. #91

= 1.0.3 - 2020-11-30 =
* Fix - Order with Payment received when Hosted Fields transaction is declined. #88

= 1.0.2 - 2020-11-09 =
* Fix - Purchases over 1.000 USD fail. #84

= 1.0.1 - 2020-11-05 =
* Fix - PayPal Smart buttons don't load when using a production/live account and `WP_Debug` is turned on/true. #66
* Fix - [Card Processing] SCA/Visa Verification form loads underneath the Checkout blockUI element. #63
* Fix - Attempting to checkout without country selected results in unexpected error message. #67
* Fix - Remove ability to change shipping address on PayPal from checkout page. #72
* Fix - Amount value should be a string when send to the api. #76
* Fix - "The value of a field does not conform to the expected format" error when using certain e-mail addresses. #56
* Fix - HTML tags in Product description. #79

= 1.0.0 - 2020-10-15 =
* Initial release.
