*** Changelog *** = 2.1.3 - 2021-09-16 = * Tweak - Remove broken URL from plugin headers. PR#887 * Tweak - Update notice on plugins page about support and EOL. PR#886 = 2.1.2 - 2021-06-28 = * Fix - Prevent fatal error when a line item isn't a WC_Product instance. PR#872 * Fix - [WC Subscriptions] Update the shipping packages address using a dynamic key rather than assuming a 0 index. PR#871 * New - Allow hiding of funding methods MercadoPago and BLIK. PR#870 * Tweak - Make labels/descriptions more consistent on the settings screen. PR#771 * Tweak - Make WooCommerce 3.2.0 explicit. PR#868 * Dev - Add hooks to alter names and descriptions of line items sent to PayPal. PR#869 * Fix - Create session cookie only when needed. PR#793, PR#845. * Tweak - Mark as compatible with latest WordPress and WooCommerce. PR#867 * Fix - Replace jQuery 3.x deprecated functions. PR#852 * Fix - Honor shape settings when rendering buttons for alternative funding sources. PR#844 * New - Add notice on plugins page to upgrade to PayPal Payments. PR#866 = 2.1.1 - 2020-11-24 = * Fix - Update the bundle.pem file to use the certificates from PayPal. PR#822 * Tweak - PHP 8.0 compatibility. PR#837 = 2.1.0 - 2020-10-06 = * New - Add support for PayPal Credit messaging. PR#810 * Fix - Hide the "Pay Later" funding method when "PayPal Credit" is disabled. PR#811 * Fix - Display correct image size in the PayPal Checkout window. PR#779 = 2.0.3 - 2020-07-01 = * Fix - Records the proper refunded_amount to _woo_pp_txnData in the database PR#764 * Fix - Redirect customers back to the original page they left on after closing PayPal modal PR#765 * Fix - Preserve horizontal layout style setting when using standalone buttons PR#774 * Fix - Smart payment buttons compatibility with older browsers PR#778 * Tweak - Update the Require Phone Number field description PR#772 * Dev - Make the SDK script args filterable PR#763 = 2.0.2 - 2020-05-28 = * Fix - Javascript errors during checkout when the Payment Action is set to Authorize. PR#754 * Fix - Style the Smart Payment Buttons according to the chosen button size setting. PR#753 * Tweak - Change the "or" separator used on the cart page to be consistent with other payment gateways (uppercase and 100% opacity). PR#755 = 2.0.1 - 2020-05-26 = * Fix - PayPal buttons not loading on the page, accompanied with the javascript/console error: "paypal.getFundingSources (or paypal.Buttons) is not a function". PR#740 = 2.0.0 - 2020-05-25 = * New - Upgrade to the latest PayPal Checkout Javascript SDK. PR#668 * Add - New setting found under Button Styles for choosing a Smart Payment Button label. PR#666 * Add - Support for more locales. PR#658 * Fix - Display Smart Payment Buttons on Product pages built from a shortcode. PR#665 * Fix - Send the product SKU to PayPal so it's displayed in the order/transaction details and reports on PayPal. PR#664 * Fix - Show an error when saving incomplete/missing API credentials. PR#712 * Fix - Remove PHP warnings in later versions of PHP when a PayPal Session doesn't exist. PR#727 * Fix - Error when processing refunds (Already Refunded. No Amount to Refund). PR#710 * Fix - Required state field errors on the "Confirm your PayPal Order" page when returning from PayPal. PR#725 * Fix - Display WC Add To Cart validation errors on the product page when clicking the PayPal Smart Payment Buttons. PR#707 * Update - Smart Payment Buttons are enabled by default and settings to toggle these on/off have been removed and replaced with a filter. PR#660 * Update - Deprecate unused/incomplete function `WC_Gateway_PPEC_Client::update_billing_agreement()`. PR#602 * Update - Move inline javascript found in `settings-ppec.php` to `ppec-settings.js`. PR#676 * Update - Move Support and Documentation links from the plugin actions to plugin meta section on the Plugin activation/deactivation page. PR#735 * Update - WooCommerce 4.1 and WordPress 5.4 compatibility. PR#732 = 1.6.21 - 2020-04-14 = * Fix - Ensure Puerto Rico and supported Locales are eligible for PayPal Credit. PR#693 * Fix - Support purchasing subscriptions with $0 initial payment - free trials, synced etc. PR#698 * Fix - Only make the billing fields optional during an active PayPal Checkout session. PR#697 * Fix - Uncaught JS errors on product page when viewing and out-of-stock product. PR#704 * Fix - Loading API certificates and improves managing certificate settings. PR#696 * Fix - Displaying PayPal Smart Payment buttons on pages with single product shortcode. PR#665 * Fix - Do not add discounts to total item amount and cause line item amount offset. PR#677 * Fix - Redirect to Confirm your PayPal Order page for subscriptions initial purchases using PayPal Smart Buttons. PR#702 * Fix - Display missing checkout notice when email format is incorrect. PR#708 * Add - Filter product form validity via a new `wc_ppec_validate_product_form` event. PR#695 * Add - Translation tables for states of more countries. PR#659 * Update - WooCommerce 4.0 compatibility = 1.6.20 - 2020-02-18 = * Fix - Upgrade the plugin on plugins loaded rather than on plugin init. PR#682 = 1.6.19 - 2020-02-06 = * Fix - Check if order exists before adding order actions. PR #653 * Fix - Global attributes stripped before sent to PayPal if unicode characters. PR#470 * Fix - Handle subscription payment change. PR#640 * Fix - Fixes error "Trying to get property of non-object" found during onboarding wizard. PR#654 * Fix - Hide smart payment buttons on mini cart when cart is empty. PR#450 * Fix - Only display smart buttons on product page if product is in stock. PR#662 * Fix - Do not display smart buttons for external products and grouped products. PR#663 * Update - Display a WooCommerce pre 3.0 admin notice warning. In an upcoming release PayPal Checkout will drop support for WC 2.6 and below. PR#671 = 1.6.18 - 2019-12-05 = * Fix - Send fees to PayPal as line items * Fix - Fix error 10426 when coupons are used * Fix - Call to a member function has_session() on null * Add - Notice about legacy payment buttons deprecation * Fix - Use order currency when renewing subscription instead of store currency * Update - WooCommerce 3.8 compatibility * Update - WordPress 5.3 compatibility = 1.6.17 - 2019-08-08 = * Update - WooCommerce 3.7 compatibility * Add - Filter to require display of billing agreement during checkout * Add - Add CURRENCYCODE to capture_payment * Add - Add filter for buttons on products * Fix - Skip wasteful render on initial Checkout page load * Fix - Appearance tweaks on Checkout screen = 1.6.16 - 2019-07-18 = * Fix - Don't require address for renewal of virtual subscriptions * Fix - Avoid broken confirmation screen edge case after 10486 redirect = 1.6.15 - 2019-06-19 = * Fix - Prevent PHP errors when no billing details are present in PP response * Fix - Require billing address for virtual products when enabled * Add - Hook when a payment error occurs = 1.6.14 - 2019-05-08 = * Fix - Failing checkout when no addons are used = 1.6.12 - 2019-05-08 = * Fix - Better handling of virtual subscriptions when billing address is not required * Fix - Prevent errors showing when purchasing a virtual product with WP_DEBUG enabled = 1.6.11 - 2019-04-17 = * Fix/Performance - Prevent db option updates during bootstrap on each page load * Tweak = WC 3.6 compatibiliy. = 1.6.10 - 2019-03-05 = * Fix - Use only product attributes when adding to cart = 1.6.9 - 2019-02-03 = * Fix - Avoid SPB render error by tweaking 'allowed' funding methods' empty value = 1.6.8 - 2019-01-25 = * Fix - Guard against themes applying filter with too few params = 1.6.7 - 2019-01-25 = * Fix - Error 10413 when using coupons * Fix: All variation details when using buttons on product pages are kept * Fix: Always render the PayPal buttons in the mini cart = 1.6.6 - 2019-01-09 = * Fix - Discount items were not being included * Add - Filter for order details to accept decimal quantities of products * Fix - Unable to buy variation from product page * Fix - Can use PayPal from product page without inputting required fields * Add - Display PayPal fees under the totals on the order admin page * Add - Prefill name, phone, and email info in PayPal Guest Checkout from checkout screen = 1.6.5 - 2018-10-31 = * Fix - Truncate the line item descriptions to avoid exceeding PayPal character limits. * Update - WC 3.5 compatibility. * Fix - checkout.js script loading when not needed. * Fix - Missing shipping total and address when starting from checkout page. = 1.6.4 - 2018-09-27 = * Fix - Billing address from Checkout form not being passed to PayPal via Smart Payment Button. * Fix - Checkout form not being validated until after Smart Payment Button payment flow. = 1.6.3 - 2018-08-15 = * Fix - Fatal error caused by a fix for Smart Payment Buttons. = 1.6.2 - 2018-08-15 = * Fix - Tax not applied on the (Confirm your PayPal order) page at the checkout. = 1.6.1 - 2018-07-04 = * Fix - GDPR Fatal error exporting user data when they have PPEC subscriptions. * Fix - PayPal Credit still being disabled by default. * Update - Rename 'PayPal Express Checkout' to 'PayPal Checkout'. * Fix - Missing PayPal branding in "Buy Now" Smart Payment Button. * Fix - PHP warning when PayPal Credit not supported and no funding methods hidden. * Fix - Smart Payment Buttons gateway not inheriting IPN and subscription handling. * Fix - Single product Smart Payment Button failing without existing session. * Fix - When cart is empty, JS error on cart page and mini-cart payment buttons showing. * Add - Locale filter. = 1.6.0 - 2018-06-27 = * Add - Smart Payment Buttons mode as alternative to directly embedded image links for all instances of PayPal button. * Fix - Help tip alignment for image settings. * Update - Enable PayPal Credit by default, and restrict its support by currency. * Update - Omit 'Express Checkout' portion of default payment method title. * Update - Enable Express Checkout on regular checkout page by default. * Update - Enable Express Checkout on single product page by default. = 1.5.6 - 2018-06-06 = * Fix - Virtual products cause issues with billing details validation. = 1.5.5 - 2018-05-23 = * Update - WC 3.4 compatibility * Update - Privacy policy notification. * Update - Export/erasure hooks added. = 1.5.4 - 2018-05-08 = * Add - Hook to make billing address not required `woocommerce_paypal_express_checkout_address_not_required` (bool). * Fix - Duplicate checkout settings when PP Credit option is enabled. * Fix - Impossible to open API credentials after saving Settings. * Fix - Prevent filtering if PPEC is not enabled. * Fix - Single Product checkout: Quantity being duplicated due to multiple AJAX calls. * Fix - When returning from PayPal, place order buttons says "proceed to payment". * Tweak - Default billing address to be required. = 1.5.3 - 2018-03-28 = * Fix - wp_enqueue_media was not correctly loaded causing weird behavior with other parts of system wanting to use it. * Fix - Typo in activation hook. = 1.5.2 - 2018-02-20 = * Tweak - Express checkout shouldn't display "Review your order before the payment". * Fix - Compatibility with Subscriptions and Checkout from Single Product page. * Fix - Make sure session object exists before use to prevent fatal error. = 1.5.1 = * Add - Hooks for Settings. * Fix - Missing Settings link on Plugins page. * Fix - Use correct image URL for PayPal image logo. * Tweak - Default to signature method if certificate missing, rather than other way around. = 1.5.0 = * Add - PayPal credit is now available on checkout. * Fix - WC 3.3 compatibility. * Add - Ability to select existing / upload new image(s) for logo / header fields. * Fix - Shipping address overridden when PayPal returns billing address. = 1.4.7 = * Fix - Issue with missing PayPal session information. * Fix - Dependency error when using LibreSSL. * Fix - Additional compatibility with shipping plugins * Fix - Issue where deprecated `WC_Cart::get_cart_url` is being used. * Tweak - Makes admin notification dismissible. = 1.4.6 = * Fix - Coupon related PayPal error 10413. = 1.4.5 = * Fix - Title/Description fields in the settings should appear based on Enable PayPal Express Checkout. * Add - Invoice Prefix now has the ability to be empty. * Fix - Additional compatibility fixes for line items. * Fix - PHP notice for Subscription id. = 1.4.4 = * Fix - PayPal error (10431). * Fix - PHP notices. = 1.4.3 = * Fix - Refunds not working on authorize then captured transactions. * Fix - Checkout on single product available before variations are chosen. * Fix - Not Returning PayPal Transaction Fee. * Fix - 10431 (Item Amount Invalid at Checkout) error with discounts. * Fix - Phone not returned and "Require Phone Number" setting not working. = 1.4.2 = * Fix - _paypal_status on Authorize transactions not updating to processing after capture. * Fix - 10413 (The totals of the cart item amounts do not match order amounts) error with discounts. * Fix - Shipping Address being required on Virtual products. = 1.4.1 = * Fix - Properly calculate whether Billing phone is required or not. * Fix - Set NOSHIPPING based on product shipping requiredness (e.g. virtual products do not need shipping, etc). = 1.4.0 = * Tweak - Use shipping discount instead of tax when adjustment negative. * Fix - Cannot process refunds on "authorize" transactions. * Add - Option for displaying express checkout button on the product page. * Fix - If there are no shipping options in WooCommerce, PayPal doesn't pass a shipping address to WC. * Add - Option to set Billing phone number mandatory. * Add - Option to disable checkout with PayPal button on Cart page. * Fix - Trigger required shipping cost before checkout. = 1.3.0 = * Fix - Fatal Error calling is_main_query. * Fix - Customer invoice email doesn't allow payment with PPEC. * Fix - Double stock reduction. * Fix - Payment automatically goes to complete when payment action set to Authorize. = 1.2.1 = * Fix - Avoid plugin links notice when WooCommerce is not active - props rellect * Fix - Do not show this gateway when the cart amount is zero * Fix - Fix 10413 error that prevents checking out with a coupon * Fix - Filter default address fields to ensure they are not required = 1.2.0 = * Fix - Prevent conflict with other gateways. * Fix - Compatibility with WooCommerce 3.0, including ensuring the customer address is saved correctly. = 1.1.3 = * Fix - Guest users can checkout without giving shipping information when required. * Fix - Modal popup not working properly. Changed to full page redirect with a hook to add back the modal/popup. * Tweak - Guest checkout is on by default. Should be turned off by using this filter: woocommerce_paypal_express_checkout_allow_guests. = 1.1.2 = * Fix - Make sure translations are loaded properly. * Fix - Added IPN (Instant Payment Notification) handler. * Fix - Make sure guest payment is enabled by default. = 1.1.1 = * Fixed fatal error prior to PHP 5.5 caused by passing empty() a non-variables. = 1.1.0 = * Improved flow after express checkout by removing billing and shipping fields and simply allowing shipping method selection. * Fix - Fixed in-context checkout to work after ajax cart reload. * Fix - Added missing 'large' button size. * Fix - Prevent double stock reduction when payment complete. * Fix - Allow PPE from pay page and don't use in-context checkout for PayPal Mark on checkout. * Fix - Increase timeout to 30 to prevent error #3. * Tweak - If the store owner decides to enable PayPal standard, respect that decision and remove EC from checkout screen. * Tweak - Change place order button to "continue to payment". * Tweak - Moved default button location to woocommerce_proceed_to_checkout hook. * Tweak - Improved button appearance and look alongside regular checkout button. = 1.0.4 = * Fix - Wrong section slug / tab after redirected from connect.woocommerce.com * Fix - Make sure to check if credentials were set in cart and checkout pages * Fix - Removed configuration of chipers to use for TLS = 1.0.3 = * Fix - Issue where missing rounding two decimal digits of tax causing transaction being refused * Fix - Issue where custom logo image URL is not saved = 1.0.2 = * Fix - Strip out HTML tags from item descriptions to prevent warning from PayPal * Fix - Issue of incorrect plugin's setting link from admin plugins page when using WooCommerce 2.6 * Tweak - Make enabled option to default to true * Fix - Issue of missing help icon when plugin directory is not the same as plugin's slug. * Tweak - Add admin notice to setup / connect after plugin is activated. = 1.0.1 = * Fix - Make sure OpenSSL is installed with 1.0.1 as the minimum required version, otherwise display warning * Fix - Make sure cURL transport is available for WP HTTP API, otherwise display warning * Fix - Unhandled certificate-style API credential * Fix - Fixed calculated tax and coupons data that sent over to PayPal * Fix - Fixed calculated shipping discount data that sent over to PayPal = 1.0.0 = * Initial stable release = 0.2.0 = * Fix - Add cancel link on checkout page when session for PPEC is active * Fix - In-context mini browser keeps spinning because failure xhr response is not handled properly = 0.1.0 = * Beta release