== Changelog == = [next-version] - yyyy-mm-dd = = [3.3.2] - 2025-06-02 = * Fixed: * Issue allowing checkout form to be submitted with invalid cards fields * Issue with additional payment method icons being displayed on Payoneer Checkout at checkout and block cart page * PHP 8+ errors caused during API calls after 3.3.0 release * PHP 7.4 errors caused during API calls after 3.3.0 release * Changed: * Repeated payment attempts no longer generate new orders. The original order is now reused, with its status set to On hold after checkout and updated to Failed if the payment is declined. = [3.3.1] - 2025-04-02 = * Added * SRI integrity hash (security enhancement for PSI/DSS 4.0 compatibility) = [3.3.0] - 2025-03-24 = * Added * Added support for blocks checkout, compatible with both hosted and embedded payment flows * Payment method logos are now displayed dynamically, based on available payment networks = [3.2.4] - 2024-10-24 = * Fixed * Fix incorrect webSDK integration * Reduce call UPDATE on less important fields * Remove modules.local directory in the public version of the plugin [3.2.3] – 2024-10-01 * Fixed * Payment session ID validation * Missing string translations = [3.2.2] - 2024-08-22 = * Fixed * Unexpected webSDK payment button presence = [3.2.1] - 2024-08-12 = * Fixed: * Incorrect order status on payment after expired session in hosted flow * Icons | incorrect sizes in a popular theme = [3.1.0] - 2024-07-17 = * Added * Afterpay support * Fixed * auto-selecting payment method in fallback mode caused by network failure * Compatibility | WordPress 6.6 * Compatibility | Displaying double Place Order button = [3.0.1] - 2024-07-09 = * Fixed * Removed redundant error message when payment method is hidden = [3.0.0] - 2024-07-03 = * Changed * replacing deprecated payment widget with new Checkout SDK * plugin configuration page (foundation for multiple payment methods) * removed CSS configuration * removed MoR support * Added * dedicated payment containers for embedded and hosted flows * Fixed * Compatibility | with empty $_SERVER['HTTP_HOST'] * Compatibility | early checkout page detection * Fallback to hosted flow for registered customer * List session is created when payment method is disabled = [2.0.0] - 2024-05-02 = * Changed * Dependency scoping to improve compatibility, internal API changed * Added * Payoneer Checkout setup information to WooCommerce System Report * Displaying 1 icon set in Embedded mode at checkout page * Fixed * AJAX Search Pro incompatibility * Fluid Checkout for WooCommerce incompatibility * Creating redundant LIST sessions in edge cases * wc_get_template hook unexpected types handling = [1.5.1] - 2023-11-22 = * Add: JCB icon * Fix: unable to activate plugin with WooCommerce 5.0.0 * Fix: warning is displayed when when WooCommerce is disabled = [1.5.0] - 2023-09-14 = * Add: Google Analytics feature = [1.4.2] - 2023-07-12 = * Fix: fatal error on checkout = [1.4.1] - 2023-07-03 = * Fix: icons order on checkout * Fix: credentials validation for pure MoR merchants = [1.4.0] - yyyy-mm-dd = * Add: AmEx payment method icon with option to disable it * Fix: Gateway displayed with invalid credentials * Fix: Users unable to log in or create a new account a my-account page * Fix: On checkout, manually entered address state name not sent to the API * Fix: For guest customers payment widget doesn't rendered when respective option enabled (with debug plugin) * Fix: Randomly failed tests = [1.3.2] - 2023-05-22 = * Add: Send address state to the OPG if provided = [1.3.1] - 2023-05-02 = * Fix: CSS with single quote parsing * Fix: Frontend global listeners stay hooked after failed payment * Fix: Expired session handling required checkout page reload * Add: Compatibility with plugins that redeclare WordPress global functions (BuddyBoss and others) * Add: Workaround for WordPress issue for calling remove_action in action processing. Compatibility with SalesGen = [1.3.0] - 2023-04-06 = * Fix: Don't init LIST session when payment method is not available * Fix: Change of shipping country does not refresh payment widget in embedded mode * Fix: 'cancelUrl' parameters no longer interfere with payment widget * Fix: Guest checkout not working with WP_DEBUG set * Add: Additional mandatory fields for Merchant of Record * Change: Include dummy product in credential test * Change: Update WebSDK to fix some upstream problems = [1.2.0] - 2023-03-14 = * Add: Block live mode until first status notification is received * Change: Fallback to hosted payment mode if failed to load payment widget * Change: When test mode is enabled, gateway is hidden from customers * Change: Update webSDK to v3-3.43.0 * Add: Include version number in logger service * Fix: Discount sent line sent twice when coupon applied * Fix: Shipping, fees and coupons included in the initial LIST request = [1.1.0] - 2022-12-22 = * Add: Display banner with onboarding assistant after initial plugin activation * Change: Declare compatibility with WooCommerce High Performance Order Storage * Change: Never let exceptions bubble up just because WP_DEBUG is set * Fix: Redirect URL from settings page was wrong in multisite installations * Fix: Discounts of individual line items not applied when generating product list * Fix: Wrong order note after partial refund on webhook = [1.0.0] - 2022-11-02 = * Fix: Improve checkout behaviour when run alongside WooCommerce PayPal Payments * Fix: Special characters are no longer escaped when saving custom CSS * Fix: Correctly transfer coupon, tax and shipping items in API calls * Fix: Correctly transfer customer first & last name in API calls * Fix: Configuration changes sometimes weren't immediately reflected after saving the settings page * Change: Removed "basic css" settings in favor of greatly improved custom css settings * Change: Declare compatibility with WordPress 6.1 * Change: Improved error message when manually cancelling payment in hosted mode * Change: No longer block the full UI during checkout operations * Change: Update minimum required WooCommerce version * Change: Remove testing code from generated zip files * Add: "Test: " prefix prepended to payment method title when test mode is active * Add: Link to documentation from payment gateway settings * Add: Provide default "custom CSS" and the ability to revert to it = [0.6.0] - 2022-10-19 = * Fix conflict with CoCart plugin * Fix rare duplicate error message when entering checkout * Fix: No longer bootstrap payment gateway when it is disabled in woocommerce payment settings * Fix: Make psalm & phpcs inspect additional folders * Changed embedded payment mode to "client-side CHARGE" flow * Changed: Initialize WebSDK with dedicated Pay button that is toggled upon gateway selection * Added: Log all notifications * Added registration/saving of payment methods * Added: Use gateway description as placeholder for hosted flow = [0.5.2] - 2022-09-19 = * Fix checkout failure without JS. * Fix 'LIST URL mismatch' checkout error with WooCommerce `5.6.2` and below. = [0.5.1] - 2022-09-06 = * No longer use `WC_Session_Handler::get_customer_unique_id` as it is only available from WC 5.3+ = [0.5.0] - 2022-08-30 = * Fix failed payment try after failed 3DS challenge in hosted mode * Fix broken LIST expiration handling * Fix creating redundant LIST sessions = [0.4.2] - 2022-08-08 = * Fix conflicts with plugins and themes changing checkout page. * Fix checkout for countries without required postal code. = [0.4.1] - 2022-08-08 = * Official Visa and Mastercard icons are used. = [0.4.0] - 2022-07-29 = * Fixed type error in checkout data handling when `CoCart` plugin is active * Changed default payment widget CSS so it is no longer too tall in some environments * Always (and only) used billing phone number when sending customer details * Provided information about merchant's system (WooCommerce) when creating List session * Added Credit card icons next to payment gateway title - Added ability to switch to "Hosted Payment Page" flow ("hosted mode") - Added placeholder message and additional error handling during LIST session creation in embedded mode = [0.3.0] - 2022-06-27 = * Added missing translations for payment method title and description. * Added message to distinguish between refunds type on the order page. * Fixed payment on the Pay for order page. * Fixed transaction link for MRS_* merchants. * Fixed potential problem with executing some webhooks twice. * Fixed invalid CSS when defaults settings are used. * Fixed loading checkout assets when payment gateway is disabled. * Fixed general error message instead of exact one for specific payment failure cases. = [0.2.1] - 2022-05-25 = ### Fixed * Fix: Unpaid orders also show a working transaction ID on the orders page * Fix: Removed giant error message during checkout that coiuld appear in rare cases * Fix: LIST session is only stored on the order if it was paid for with our gateway * Fix: Checkout widget handles removal of payment gateway during checkout more gracefully * Change: Gateway now verifies that the checkout has been made via the checkout widget * Change: Checkout widget now has a placeholder message until it has initialized = [0.2.0] - 2022-05-12 = * Added internationalization of errors. * Fixed admin order transaction link when the order completed on webhook. * Fixed checkout failure if no phone provided. = [0.1.0] - 2022-04-22 = * Added Payoneer Checkout payment gateway. * Added card payments support. * Added payment widget customization feature. * Added support for asynchronous status notifications. * Added support for refunds.