Plugin Directory

Changeset 3009108


Ignore:
Timestamp:
12/12/2023 11:41:01 PM (2 years ago)
Author:
clearpayit
Message:

Release v3.7.3.

Location:
clearpay-gateway-for-woocommerce
Files:
1 deleted
18 edited
1 copied

Legend:

Unmodified
Added
Removed
  • clearpay-gateway-for-woocommerce/tags/3.7.3/build/cart-messaging-block/frontend.asset.php

    r3003031 r3009108  
    1 <?php return array('dependencies' => array('react', 'wc-blocks-checkout'), 'version' => '780305c8b7781e4df22a');
     1<?php return array('dependencies' => array('react', 'wc-blocks-checkout', 'wc-settings'), 'version' => 'bb3d434328dd67ef5b5f');
  • clearpay-gateway-for-woocommerce/tags/3.7.3/build/cart-messaging-block/frontend.js

    r3003031 r3009108  
    1 (()=>{"use strict";const e=window.React,a=window.wc.blocksCheckout,t={metadata:JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"clearpay-gateway-for-woocommerce/cart-messaging","title":"Clearpay Cart Messaging","category":"widgets","description":"Adds a Clearpay placement to the cart block","keywords":["clearpay","messaging","placement"],"version":"1","textdomain":"clearpay-gateway-for-woocommerce","parent":["woocommerce/cart-totals-block"],"viewScript":["square_marketplace_js","clearpay_cart_messaging"],"editorScript":"file:./editor.js"}'),component:a=>{const{frontend_is_ready:t,placement_attributes:c}=plugin_data;if(a?.cart?.cartTotals){if(t){const{cart:{cartTotals:t}}=a,r=t.total_price/Math.pow(10,t.currency_minor_unit);return c["data-amount"]=r,(0,e.createElement)("div",{class:a.className},(0,e.createElement)("square-placement",{...c}))}}else console.log("Context Cart Unavailable.")}};(0,a.registerCheckoutBlock)(t)})();
     1(()=>{"use strict";const e=window.React,a=window.wc.blocksCheckout,t=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"clearpay-gateway-for-woocommerce/cart-messaging","title":"Clearpay Cart Messaging","category":"widgets","description":"Adds a Clearpay placement to the cart block","keywords":["clearpay","messaging","placement"],"version":"1","textdomain":"clearpay-gateway-for-woocommerce","parent":["woocommerce/cart-totals-block"],"viewScript":["square_marketplace_js","clearpay_cart_messaging"],"editorScript":"file:./editor.js"}'),r=window.wc.wcSettings,o=e=>Array.isArray(e)?e.map((e=>e.sku)).filter((e=>e)):[],c=e=>{if(Array.isArray(e)){const a=e.map((e=>e.extensions?.woo_clearpay?.categories)).flat().filter((e=>e));return[...new Set(a)]}return[]},s=e=>!Array.isArray(e)||!e.some((e=>0==e.extensions?.woo_clearpay?.eligible)),i={metadata:t,component:a=>{if(a?.cart?.cartTotals){const{frontend_is_ready:t,cart_placement_attributes:i}=(()=>{const e=(0,r.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e})()||{};if(t){const{cart:{cartTotals:t,cartItems:r}}=a,n={...i,"data-amount":t.total_price/Math.pow(10,t.currency_minor_unit),"data-item-skus":o(r).join(),"data-item-categories":c(r).join(),"data-cart-is-eligible":s(r)};return(0,e.createElement)("div",{class:a.className},(0,e.createElement)("square-placement",{...n}))}}else console.log("Context Cart Unavailable.")}};(0,a.registerCheckoutBlock)(i)})();
  • clearpay-gateway-for-woocommerce/tags/3.7.3/build/clearpay-blocks/index.asset.php

    r3003031 r3009108  
    1 <?php return array('dependencies' => array('react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'bdb5f7409c13bff9814d');
     1<?php return array('dependencies' => array('react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '2d1796690d79fd35f4b4');
  • clearpay-gateway-for-woocommerce/tags/3.7.3/build/clearpay-blocks/index.js

    r3003031 r3009108  
    1 (()=>{"use strict";var e={433:(e,a,r)=>{r.d(a,{U:()=>t});const t=()=>{var e,a=null;(e=jQuery)(".btn-clearpay_express").length&&Square?.Marketplace&&(e(".btn-clearpay_express").prop("disabled",!1),Square.Marketplace.initializeForPopup({countryCode:clearpay_express_js_config.country_code,target:".btn-clearpay_express",buyNow:!0,pickup:!1,onCommenceCheckout:function(r){if(e(".btn-clearpay_express").prop("disabled",!0),e(".buy-backdrop").length){var t=e(".buy-backdrop").clone();t.find(':contains("Clearpay")').remove(),a||(a={overlay:t,css:e('style:contains("buy-backdrop")').clone()})}e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_start",nonce:clearpay_express_js_config.ec_start_nonce},success:function(e){e.success?r.resolve(e.token):(e.message?r.reject(e.message):r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),e.redirectUrl&&(window.location.href=e.redirectUrl))},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),alert("Something went wrong. Please try again later.")}})},onShippingAddressChange:function(a,r){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_change",nonce:clearpay_express_js_config.ec_change_nonce,address:a},success:function(e){e.hasOwnProperty("error")?r.reject(Square.Marketplace.CONSTANTS.SERVICE_UNAVAILABLE,e.message):r.resolve(e)},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE)}})},onShippingOptionChange:function(a){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_shipping_change",shipping:a.id,nonce:clearpay_express_js_config.ec_change_shipping_nonce}})},onComplete:function(r){r.data&&(r.data.status&&"SUCCESS"==r.data.status?(a&&(a.overlay.appendTo("body"),a.css.appendTo("head")),e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_complete",nonce:clearpay_express_js_config.ec_complete_nonce,token:r.data.orderToken},success:function(r){e(".btn-clearpay_express").prop("disabled",!1),r.redirectUrl?window.location.href=r.redirectUrl:(a.overlay.remove(),a.css.remove())},error:function(r,t,n){e(".btn-clearpay_express").prop("disabled",!1),alert("Something went wrong. Please try again later."),a.overlay.remove(),a.css.remove()}})):e(".btn-clearpay_express").prop("disabled",!1))}}))};var n;(n=jQuery)((function(){t(),n(document.body).on("updated_cart_totals",t)}))}},a={};function r(t){var n=a[t];if(void 0!==n)return n.exports;var o=a[t]={exports:{}};return e[t](o,o.exports,r),o.exports}r.d=(e,a)=>{for(var t in a)r.o(a,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{const e=window.React,a=(window.wp.htmlEntities,window.wp.i18n),t=window.wp.element,n=window.wc.wcBlocksRegistry,o="clearpay",c=window.wc.wcSettings,l=()=>{const e=(0,c.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e};var s,i,p=r(433);const u=a=>{const r=l()?.testmode,n={target:"#clearpay-widget-container",locale:l()?.locale,amount:{amount:(a.billing.cartTotal.value/Math.pow(10,a.billing.currency.minorUnit)).toString(),currency:a.billing.currency.code}};return(0,t.useEffect)((()=>{if(Square?.Marketplace?.Widgets){const e=document.createElement("script");e.innerHTML=`window.clearpayWidget = new Square.Marketplace.Widgets.PaymentSchedule(${JSON.stringify(n)})`,document.body.appendChild(e)}}),[]),(0,t.useEffect)((()=>{window.clearpayWidget&&window.clearpayWidget.update({amount:n.amount})}),[a.billing.cartTotal.value]),(0,e.createElement)("div",null,"production"!=r&&(0,e.createElement)("p",{className:"clearpay-test-mode-warning-text"},"TEST MODE ENABLED"),(0,e.createElement)("div",{id:"clearpay-widget-container"}))};(0,n.registerPaymentMethod)({name:o,label:(0,e.createElement)("img",{src:l()?.logo_url,alt:(0,a.__)("Clearpay","woo_clearpay")}),ariaLabel:(0,a.__)("Clearpay payment method","woo_clearpay"),canMakePayment:({cartTotals:e})=>{const a=Math.max("1.00",parseFloat(l()?.min)),r=parseFloat(l()?.max),t=parseFloat(e.total_price)/Math.pow(10,e.currency_minor_unit);return t>=a&&t<=r},content:(0,e.createElement)(u,null),edit:(0,e.createElement)(u,null),supports:{features:null!==(s=l()?.supports)&&void 0!==s?s:[]}});const d=()=>{const{ec_button:a}=l();return(0,t.useEffect)((()=>{(0,p.U)()}),[]),(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:a}})};(0,n.registerExpressPaymentMethod)({name:"express_"+o,paymentMethodId:o,content:(0,e.createElement)(d,null),edit:(0,e.createElement)(d,null),canMakePayment:({cartTotals:e})=>{var a;if(null!==(a=l()?.ec_available)&&void 0!==a&&a){const{total_price:a,currency_minor_unit:r}=e,t=parseFloat(a)/Math.pow(10,r),n=Math.max("1.00",parseFloat(l()?.min)),o=parseFloat(l()?.max);return t>=n&&t<=o}return!1},supports:{features:null!==(i=l()?.supports)&&void 0!==i?i:[]}})})()})();
     1(()=>{"use strict";var e={433:(e,a,r)=>{r.d(a,{U:()=>t});const t=()=>{var e,a=null;(e=jQuery)(".btn-clearpay_express").length&&Square?.Marketplace&&(e(".btn-clearpay_express").prop("disabled",!1),Square.Marketplace.initializeForPopup({countryCode:clearpay_express_js_config.country_code,target:".btn-clearpay_express",buyNow:!0,pickup:!1,onCommenceCheckout:function(r){if(e(".btn-clearpay_express").prop("disabled",!0),e(".buy-backdrop").length){var t=e(".buy-backdrop").clone();t.find(':contains("Clearpay")').remove(),a||(a={overlay:t,css:e('style:contains("buy-backdrop")').clone()})}e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_start",nonce:clearpay_express_js_config.ec_start_nonce},success:function(e){e.success?r.resolve(e.token):(e.message?r.reject(e.message):r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),e.redirectUrl&&(window.location.href=e.redirectUrl))},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),alert("Something went wrong. Please try again later.")}})},onShippingAddressChange:function(a,r){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_change",nonce:clearpay_express_js_config.ec_change_nonce,address:a},success:function(e){e.hasOwnProperty("error")?r.reject(Square.Marketplace.CONSTANTS.SERVICE_UNAVAILABLE,e.message):r.resolve(e)},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE)}})},onShippingOptionChange:function(a){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_shipping_change",shipping:a.id,nonce:clearpay_express_js_config.ec_change_shipping_nonce}})},onComplete:function(r){r.data&&(r.data.status&&"SUCCESS"==r.data.status?(a&&(a.overlay.appendTo("body"),a.css.appendTo("head")),e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_complete",nonce:clearpay_express_js_config.ec_complete_nonce,token:r.data.orderToken},success:function(r){e(".btn-clearpay_express").prop("disabled",!1),r.redirectUrl?window.location.href=r.redirectUrl:(a.overlay.remove(),a.css.remove())},error:function(r,t,n){e(".btn-clearpay_express").prop("disabled",!1),alert("Something went wrong. Please try again later."),a.overlay.remove(),a.css.remove()}})):e(".btn-clearpay_express").prop("disabled",!1))}}))};var n;(n=jQuery)((function(){t(),n(document.body).on("updated_cart_totals",t)}))}},a={};function r(t){var n=a[t];if(void 0!==n)return n.exports;var o=a[t]={exports:{}};return e[t](o,o.exports,r),o.exports}r.d=(e,a)=>{for(var t in a)r.o(a,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{const e=window.React,a=(window.wp.htmlEntities,window.wp.i18n),t=window.wp.element,n=window.wc.wcBlocksRegistry,o="clearpay",c=window.wc.wcSettings,s=()=>{const e=(0,c.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e};var l,i,p=r(433);const d=a=>{const r=s()?.testmode,n={target:"#clearpay-widget-container",locale:s()?.locale,amount:{amount:(a.billing.cartTotal.value/Math.pow(10,a.billing.currency.minorUnit)).toString(),currency:a.billing.currency.code}};return(0,t.useEffect)((()=>{if(Square?.Marketplace?.Widgets){const e=document.createElement("script");e.innerHTML=`window.clearpayWidget = new Square.Marketplace.Widgets.PaymentSchedule(${JSON.stringify(n)})`,document.body.appendChild(e)}}),[]),(0,t.useEffect)((()=>{window.clearpayWidget&&window.clearpayWidget.update({amount:n.amount})}),[a.billing.cartTotal.value]),(0,e.createElement)("div",null,"production"!=r&&(0,e.createElement)("p",{className:"clearpay-test-mode-warning-text"},"TEST MODE ENABLED"),(0,e.createElement)("div",{id:"clearpay-widget-container"}))};(0,n.registerPaymentMethod)({name:o,label:(0,e.createElement)("img",{src:s()?.logo_url,alt:(0,a.__)("Clearpay","woo_clearpay")}),ariaLabel:(0,a.__)("Clearpay payment method","woo_clearpay"),canMakePayment:({cartTotals:e})=>{const a=Math.max("1.00",parseFloat(s()?.min)),r=parseFloat(s()?.max),t=parseFloat(e.total_price)/Math.pow(10,e.currency_minor_unit);return t>=a&&t<=r},content:(0,e.createElement)(d,null),edit:(0,e.createElement)(d,null),supports:{features:null!==(l=s()?.supports)&&void 0!==l?l:[]}});const u=()=>{const{ec_button:a}=s();return(0,t.useEffect)((()=>{(0,p.U)()}),[]),(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:a}})};(0,n.registerExpressPaymentMethod)({name:"express_"+o,paymentMethodId:o,content:(0,e.createElement)(u,null),edit:(0,e.createElement)(u,null),canMakePayment:({cart:{cartItems:e,cartNeedsShipping:a,cartTotals:r}})=>{const{frontend_is_ready:t,ec_enabled:n,min:o,max:c}=s()||{},l=t&&n&&a&&(e=>!Array.isArray(e)||!e.some((e=>0==e.extensions?.woo_clearpay?.eligible)))(e);if(l){const{total_price:e,currency_minor_unit:a}=r,t=parseFloat(e)/Math.pow(10,a),n=Math.max("1.00",parseFloat(o)),s=parseFloat(c);return t>=n&&t<=s}return!1},supports:{features:null!==(i=s()?.supports)&&void 0!==i?i:[]}})})()})();
  • clearpay-gateway-for-woocommerce/tags/3.7.3/class/WC_Gateway_Clearpay.php

    r2986472 r3009108  
    1111use Afterpay\SDK\HTTP\Request\UpdateShippingCourier;
    1212use Afterpay\SDK\Helper\UrlHelper;
     13
     14use Automattic\WooCommerce\StoreApi\Schemas\V1\CartItemSchema;
    1315
    1416if (!class_exists('WC_Gateway_Clearpay')) {
     
    299301
    300302            return
    301                 $this->enabled === 'yes' &&
    302303                $this->frontend_is_ready() &&
    303304                $within_limits  !== false &&
    304                 $products_supported !== false;
    305         }
    306 
    307         /**
    308          * Check if the gateway is available for WC Blocks.
    309          * Note:    Order amount is checked on the frontend instead.
    310          *
    311          * @return bool
    312          */
    313         public function is_available_for_blocks() {
    314             $products_supported = true;
    315             if (WC()->cart) {
    316                 $products_supported = $this->cart_products_are_supported();
    317             }
    318             return
    319                 $this->enabled === 'yes' &&
    320                 $this->frontend_is_ready() &&
    321305                $products_supported !== false;
    322306        }
     
    939923        public function render_express_checkout_on_cart_page() {
    940924            if (
    941                 !$this->express_is_available() ||
    942                 !$this->cart_is_within_limits()
     925                !$this->express_is_enabled() ||
     926                !$this->cart_is_within_limits() ||
     927                !$this->cart_products_are_supported() ||
     928                $this->cart_is_virtual()
    943929            ) {
    944930                return;
     
    958944        }
    959945
    960         public function express_is_available() {
    961             // Need to check cart total separately
     946        // Need to check cart total and eligibility separately
     947        public function express_is_enabled() {
    962948            return isset($this->settings['show-express-on-cart-page'])
    963949                && 'yes' == $this->settings['show-express-on-cart-page']
    964                 && get_woocommerce_currency() == $this->settings['settlement-currency']
    965                 && $this->cart_products_are_supported()
    966                 && !$this->cart_is_virtual();
     950                && get_woocommerce_currency() == $this->settings['settlement-currency'];
    967951        }
    968952
     
    22872271        private function get_cart_item_skus() {
    22882272            $skus = [];
    2289             if (did_action('wp_loaded')) {
     2273            if (did_action('wp_loaded') && WC()->cart) {
    22902274                foreach (WC()->cart->get_cart() as $cart_item) {
    22912275                    $product = $cart_item['data'];
     
    23392323        private function get_cart_item_categories() {
    23402324            $category_names = [];
    2341             if (did_action('wp_loaded')) {
     2325            if (did_action('wp_loaded') && WC()->cart) {
    23422326                foreach (WC()->cart->get_cart() as $cart_item) {
    23432327                    $product = $cart_item['data'];
     
    24972481            return $attributes;
    24982482        }
     2483
     2484        public function extend_store_api() {
     2485            if ( ! function_exists('woocommerce_store_api_register_endpoint_data') ) {
     2486                return;
     2487            }
     2488
     2489            woocommerce_store_api_register_endpoint_data([
     2490                'endpoint' => CartItemSchema::IDENTIFIER,
     2491                'namespace' => 'woo_clearpay',
     2492                'data_callback' => array($this, 'extend_cart_item_data'),
     2493                'schema_callback' => array($this, 'extend_cart_item_schema'),
     2494                'schema_type' => ARRAY_A,
     2495            ]);
     2496        }
     2497
     2498        public function extend_cart_item_data($cart_item) {
     2499            $product = $cart_item['data'];
     2500            $cats = $this->get_category_names_by_product($product, true);
     2501            $eligible = $this->is_product_supported($product, true);
     2502            return [
     2503                'categories' => $cats,
     2504                'eligible' => $eligible,
     2505            ];
     2506        }
     2507
     2508        public function extend_cart_item_schema() {
     2509            return [
     2510                'properties' => [
     2511                    'categories' => [
     2512                        'type' => 'array',
     2513                    ],
     2514                    'eligible' => [
     2515                        'type' => 'boolean',
     2516                    ],
     2517                ],
     2518            ];
     2519        }
    24992520    }
    25002521}
  • clearpay-gateway-for-woocommerce/tags/3.7.3/class/WC_Gateway_Clearpay_Blocks_Support.php

    r2986472 r3009108  
    2020    public function initialize() {
    2121        $this->settings = get_option( 'woocommerce_clearpay_settings', [] );
    22     }
    23 
    24     /**
    25      * Returns if this payment method should be active. If false, the scripts will not be enqueued.
    26      *
    27      * @return boolean
    28      */
    29     public function is_active() {
    30         $payment_gateways_class   = WC()->payment_gateways();
    31         $payment_gateways         = $payment_gateways_class->payment_gateways();
    32 
    33         return array_key_exists('clearpay', $payment_gateways)
    34             && $payment_gateways['clearpay']->is_available_for_blocks();
    3522    }
    3623
     
    7865            'locale' => $instance->get_js_locale(),
    7966            'supports' => $this->get_supported_features(),
    80             'ec_available' => $instance->express_is_available(),
     67            'ec_enabled' => $instance->express_is_enabled(),
    8168            'ec_button' => $instance->get_express_checkout_button_for_block(),
     69            'frontend_is_ready' => $instance->frontend_is_ready(),
     70            'cart_placement_attributes' => $instance->get_cart_placement_attributes(),
    8271        ];
    8372    }
  • clearpay-gateway-for-woocommerce/tags/3.7.3/clearpay-gateway-for-woocommerce.php

    r3003031 r3009108  
    55 * Author: Clearpay
    66 * Author URI: https://www.clearpay.co.uk/
    7  * Version: 3.7.2
     7 * Version: 3.7.3
    88 * Text Domain: woo_clearpay
    99 * Domain Path: /languages/
     
    4747         *                                          the value in the comments above.
    4848         */
    49         public static $version = '3.7.2';
     49        public static $version = '3.7.3';
    5050
    5151        /**
     
    101101            add_action( 'wp_ajax_nopriv_clearpay_express_complete', array($gateway, 'create_order_and_capture_endpoint') );
    102102            add_action( 'woocommerce_api_wc_gateway_clearpay', array($gateway, 'capture_payment') );
     103
    103104            /**
    104105             * Filters.
     
    405406        }
    406407
     408        public static function extend_store_api() {
     409            if ( ! self::init() ) { return; }
     410
     411            $gateway = WC_Gateway_Clearpay::getInstance();
     412            $gateway->extend_store_api();
     413        }
     414
    407415        public static function add_woocommerce_blocks_support(){
    408416            if ( class_exists( 'Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType' ) ) {
     
    476484            );
    477485
    478             /**
    479              * Register cart messaging block
    480              * Note: Unable to retrieve the WC()->cart object on the server side,
    481              * hence it cannot get the cart total dynamically, or loop through the cart items
    482              * to check restricted categories, or fetch the skus and categories for analytics.
    483              */
     486            // Register cart messaging block
    484487            $cart_messaging_asset = include( plugin_dir_path( __FILE__ ) . 'build/cart-messaging-block/frontend.asset.php');
    485488            wp_register_script(
     
    490493                true
    491494            );
    492             wp_localize_script( 'clearpay_cart_messaging','plugin_data', array(
    493                 'frontend_is_ready' => $instance->frontend_is_ready(),
    494                 'placement_attributes' => $instance->get_cart_placement_attributes(),
    495             ) );
    496495            register_block_type(
    497496                __DIR__ . '/build/cart-messaging-block/block.json',
     
    526525    add_action( 'plugins_loaded', array('Clearpay_Plugin', 'init'), 10, 0 );
    527526    add_action( 'upgrader_process_complete', array('Clearpay_Plugin', 'upgrade_complete'), 10, 2 );
     527    add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'extend_store_api') );
    528528    add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'add_woocommerce_blocks_support') );
    529529    // Declare compatibility with custom order tables for WooCommerce.
  • clearpay-gateway-for-woocommerce/tags/3.7.3/readme.txt

    r3003031 r3009108  
    33Tags: woocommerce, clearpay
    44Requires at least: 4.8.3
    5 Tested up to: 6.4.1
    6 Stable tag: 3.7.2
     5Tested up to: 6.4.2
     6Stable tag: 3.7.3
    77License: GNU Public License
    88License URI: https://www.gnu.org/licenses/
     
    4040== Changelog ==
    4141
     42= 3.7.3 =
     43*Release Date: Wednesday, 13 Dec 2023*
     44
     45* Minor bug fixes.
     46* Tested and verified support for WordPress 6.4.2 and WooCommerce 8.3.1.
     47
    4248= 3.7.2 =
    4349*Release Date: Wednesday, 29 Nov 2023*
  • clearpay-gateway-for-woocommerce/tags/3.7.3/vendor/composer/installed.php

    r3003031 r3009108  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '638cb91d9b55ad8584bae638de96cc5cd3b7c116',
     6        'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-master',
    1515            'version' => 'dev-master',
    16             'reference' => '638cb91d9b55ad8584bae638de96cc5cd3b7c116',
     16            'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
  • clearpay-gateway-for-woocommerce/trunk/build/cart-messaging-block/frontend.asset.php

    r3003031 r3009108  
    1 <?php return array('dependencies' => array('react', 'wc-blocks-checkout'), 'version' => '780305c8b7781e4df22a');
     1<?php return array('dependencies' => array('react', 'wc-blocks-checkout', 'wc-settings'), 'version' => 'bb3d434328dd67ef5b5f');
  • clearpay-gateway-for-woocommerce/trunk/build/cart-messaging-block/frontend.js

    r3003031 r3009108  
    1 (()=>{"use strict";const e=window.React,a=window.wc.blocksCheckout,t={metadata:JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"clearpay-gateway-for-woocommerce/cart-messaging","title":"Clearpay Cart Messaging","category":"widgets","description":"Adds a Clearpay placement to the cart block","keywords":["clearpay","messaging","placement"],"version":"1","textdomain":"clearpay-gateway-for-woocommerce","parent":["woocommerce/cart-totals-block"],"viewScript":["square_marketplace_js","clearpay_cart_messaging"],"editorScript":"file:./editor.js"}'),component:a=>{const{frontend_is_ready:t,placement_attributes:c}=plugin_data;if(a?.cart?.cartTotals){if(t){const{cart:{cartTotals:t}}=a,r=t.total_price/Math.pow(10,t.currency_minor_unit);return c["data-amount"]=r,(0,e.createElement)("div",{class:a.className},(0,e.createElement)("square-placement",{...c}))}}else console.log("Context Cart Unavailable.")}};(0,a.registerCheckoutBlock)(t)})();
     1(()=>{"use strict";const e=window.React,a=window.wc.blocksCheckout,t=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"clearpay-gateway-for-woocommerce/cart-messaging","title":"Clearpay Cart Messaging","category":"widgets","description":"Adds a Clearpay placement to the cart block","keywords":["clearpay","messaging","placement"],"version":"1","textdomain":"clearpay-gateway-for-woocommerce","parent":["woocommerce/cart-totals-block"],"viewScript":["square_marketplace_js","clearpay_cart_messaging"],"editorScript":"file:./editor.js"}'),r=window.wc.wcSettings,o=e=>Array.isArray(e)?e.map((e=>e.sku)).filter((e=>e)):[],c=e=>{if(Array.isArray(e)){const a=e.map((e=>e.extensions?.woo_clearpay?.categories)).flat().filter((e=>e));return[...new Set(a)]}return[]},s=e=>!Array.isArray(e)||!e.some((e=>0==e.extensions?.woo_clearpay?.eligible)),i={metadata:t,component:a=>{if(a?.cart?.cartTotals){const{frontend_is_ready:t,cart_placement_attributes:i}=(()=>{const e=(0,r.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e})()||{};if(t){const{cart:{cartTotals:t,cartItems:r}}=a,n={...i,"data-amount":t.total_price/Math.pow(10,t.currency_minor_unit),"data-item-skus":o(r).join(),"data-item-categories":c(r).join(),"data-cart-is-eligible":s(r)};return(0,e.createElement)("div",{class:a.className},(0,e.createElement)("square-placement",{...n}))}}else console.log("Context Cart Unavailable.")}};(0,a.registerCheckoutBlock)(i)})();
  • clearpay-gateway-for-woocommerce/trunk/build/clearpay-blocks/index.asset.php

    r3003031 r3009108  
    1 <?php return array('dependencies' => array('react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'bdb5f7409c13bff9814d');
     1<?php return array('dependencies' => array('react', 'wc-blocks-registry', 'wc-settings', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '2d1796690d79fd35f4b4');
  • clearpay-gateway-for-woocommerce/trunk/build/clearpay-blocks/index.js

    r3003031 r3009108  
    1 (()=>{"use strict";var e={433:(e,a,r)=>{r.d(a,{U:()=>t});const t=()=>{var e,a=null;(e=jQuery)(".btn-clearpay_express").length&&Square?.Marketplace&&(e(".btn-clearpay_express").prop("disabled",!1),Square.Marketplace.initializeForPopup({countryCode:clearpay_express_js_config.country_code,target:".btn-clearpay_express",buyNow:!0,pickup:!1,onCommenceCheckout:function(r){if(e(".btn-clearpay_express").prop("disabled",!0),e(".buy-backdrop").length){var t=e(".buy-backdrop").clone();t.find(':contains("Clearpay")').remove(),a||(a={overlay:t,css:e('style:contains("buy-backdrop")').clone()})}e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_start",nonce:clearpay_express_js_config.ec_start_nonce},success:function(e){e.success?r.resolve(e.token):(e.message?r.reject(e.message):r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),e.redirectUrl&&(window.location.href=e.redirectUrl))},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),alert("Something went wrong. Please try again later.")}})},onShippingAddressChange:function(a,r){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_change",nonce:clearpay_express_js_config.ec_change_nonce,address:a},success:function(e){e.hasOwnProperty("error")?r.reject(Square.Marketplace.CONSTANTS.SERVICE_UNAVAILABLE,e.message):r.resolve(e)},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE)}})},onShippingOptionChange:function(a){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_shipping_change",shipping:a.id,nonce:clearpay_express_js_config.ec_change_shipping_nonce}})},onComplete:function(r){r.data&&(r.data.status&&"SUCCESS"==r.data.status?(a&&(a.overlay.appendTo("body"),a.css.appendTo("head")),e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_complete",nonce:clearpay_express_js_config.ec_complete_nonce,token:r.data.orderToken},success:function(r){e(".btn-clearpay_express").prop("disabled",!1),r.redirectUrl?window.location.href=r.redirectUrl:(a.overlay.remove(),a.css.remove())},error:function(r,t,n){e(".btn-clearpay_express").prop("disabled",!1),alert("Something went wrong. Please try again later."),a.overlay.remove(),a.css.remove()}})):e(".btn-clearpay_express").prop("disabled",!1))}}))};var n;(n=jQuery)((function(){t(),n(document.body).on("updated_cart_totals",t)}))}},a={};function r(t){var n=a[t];if(void 0!==n)return n.exports;var o=a[t]={exports:{}};return e[t](o,o.exports,r),o.exports}r.d=(e,a)=>{for(var t in a)r.o(a,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{const e=window.React,a=(window.wp.htmlEntities,window.wp.i18n),t=window.wp.element,n=window.wc.wcBlocksRegistry,o="clearpay",c=window.wc.wcSettings,l=()=>{const e=(0,c.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e};var s,i,p=r(433);const u=a=>{const r=l()?.testmode,n={target:"#clearpay-widget-container",locale:l()?.locale,amount:{amount:(a.billing.cartTotal.value/Math.pow(10,a.billing.currency.minorUnit)).toString(),currency:a.billing.currency.code}};return(0,t.useEffect)((()=>{if(Square?.Marketplace?.Widgets){const e=document.createElement("script");e.innerHTML=`window.clearpayWidget = new Square.Marketplace.Widgets.PaymentSchedule(${JSON.stringify(n)})`,document.body.appendChild(e)}}),[]),(0,t.useEffect)((()=>{window.clearpayWidget&&window.clearpayWidget.update({amount:n.amount})}),[a.billing.cartTotal.value]),(0,e.createElement)("div",null,"production"!=r&&(0,e.createElement)("p",{className:"clearpay-test-mode-warning-text"},"TEST MODE ENABLED"),(0,e.createElement)("div",{id:"clearpay-widget-container"}))};(0,n.registerPaymentMethod)({name:o,label:(0,e.createElement)("img",{src:l()?.logo_url,alt:(0,a.__)("Clearpay","woo_clearpay")}),ariaLabel:(0,a.__)("Clearpay payment method","woo_clearpay"),canMakePayment:({cartTotals:e})=>{const a=Math.max("1.00",parseFloat(l()?.min)),r=parseFloat(l()?.max),t=parseFloat(e.total_price)/Math.pow(10,e.currency_minor_unit);return t>=a&&t<=r},content:(0,e.createElement)(u,null),edit:(0,e.createElement)(u,null),supports:{features:null!==(s=l()?.supports)&&void 0!==s?s:[]}});const d=()=>{const{ec_button:a}=l();return(0,t.useEffect)((()=>{(0,p.U)()}),[]),(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:a}})};(0,n.registerExpressPaymentMethod)({name:"express_"+o,paymentMethodId:o,content:(0,e.createElement)(d,null),edit:(0,e.createElement)(d,null),canMakePayment:({cartTotals:e})=>{var a;if(null!==(a=l()?.ec_available)&&void 0!==a&&a){const{total_price:a,currency_minor_unit:r}=e,t=parseFloat(a)/Math.pow(10,r),n=Math.max("1.00",parseFloat(l()?.min)),o=parseFloat(l()?.max);return t>=n&&t<=o}return!1},supports:{features:null!==(i=l()?.supports)&&void 0!==i?i:[]}})})()})();
     1(()=>{"use strict";var e={433:(e,a,r)=>{r.d(a,{U:()=>t});const t=()=>{var e,a=null;(e=jQuery)(".btn-clearpay_express").length&&Square?.Marketplace&&(e(".btn-clearpay_express").prop("disabled",!1),Square.Marketplace.initializeForPopup({countryCode:clearpay_express_js_config.country_code,target:".btn-clearpay_express",buyNow:!0,pickup:!1,onCommenceCheckout:function(r){if(e(".btn-clearpay_express").prop("disabled",!0),e(".buy-backdrop").length){var t=e(".buy-backdrop").clone();t.find(':contains("Clearpay")').remove(),a||(a={overlay:t,css:e('style:contains("buy-backdrop")').clone()})}e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_start",nonce:clearpay_express_js_config.ec_start_nonce},success:function(e){e.success?r.resolve(e.token):(e.message?r.reject(e.message):r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),e.redirectUrl&&(window.location.href=e.redirectUrl))},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE),alert("Something went wrong. Please try again later.")}})},onShippingAddressChange:function(a,r){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_change",nonce:clearpay_express_js_config.ec_change_nonce,address:a},success:function(e){e.hasOwnProperty("error")?r.reject(Square.Marketplace.CONSTANTS.SERVICE_UNAVAILABLE,e.message):r.resolve(e)},error:function(e,a,t){r.reject(Square.Marketplace.CONSTANTS.BAD_RESPONSE)}})},onShippingOptionChange:function(a){e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_shipping_change",shipping:a.id,nonce:clearpay_express_js_config.ec_change_shipping_nonce}})},onComplete:function(r){r.data&&(r.data.status&&"SUCCESS"==r.data.status?(a&&(a.overlay.appendTo("body"),a.css.appendTo("head")),e.ajax({url:clearpay_express_js_config.ajaxurl,method:"POST",data:{action:"clearpay_express_complete",nonce:clearpay_express_js_config.ec_complete_nonce,token:r.data.orderToken},success:function(r){e(".btn-clearpay_express").prop("disabled",!1),r.redirectUrl?window.location.href=r.redirectUrl:(a.overlay.remove(),a.css.remove())},error:function(r,t,n){e(".btn-clearpay_express").prop("disabled",!1),alert("Something went wrong. Please try again later."),a.overlay.remove(),a.css.remove()}})):e(".btn-clearpay_express").prop("disabled",!1))}}))};var n;(n=jQuery)((function(){t(),n(document.body).on("updated_cart_totals",t)}))}},a={};function r(t){var n=a[t];if(void 0!==n)return n.exports;var o=a[t]={exports:{}};return e[t](o,o.exports,r),o.exports}r.d=(e,a)=>{for(var t in a)r.o(a,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{const e=window.React,a=(window.wp.htmlEntities,window.wp.i18n),t=window.wp.element,n=window.wc.wcBlocksRegistry,o="clearpay",c=window.wc.wcSettings,s=()=>{const e=(0,c.getSetting)("clearpay_data",null);return e||console.log("Clearpay initialization data is not available"),e};var l,i,p=r(433);const d=a=>{const r=s()?.testmode,n={target:"#clearpay-widget-container",locale:s()?.locale,amount:{amount:(a.billing.cartTotal.value/Math.pow(10,a.billing.currency.minorUnit)).toString(),currency:a.billing.currency.code}};return(0,t.useEffect)((()=>{if(Square?.Marketplace?.Widgets){const e=document.createElement("script");e.innerHTML=`window.clearpayWidget = new Square.Marketplace.Widgets.PaymentSchedule(${JSON.stringify(n)})`,document.body.appendChild(e)}}),[]),(0,t.useEffect)((()=>{window.clearpayWidget&&window.clearpayWidget.update({amount:n.amount})}),[a.billing.cartTotal.value]),(0,e.createElement)("div",null,"production"!=r&&(0,e.createElement)("p",{className:"clearpay-test-mode-warning-text"},"TEST MODE ENABLED"),(0,e.createElement)("div",{id:"clearpay-widget-container"}))};(0,n.registerPaymentMethod)({name:o,label:(0,e.createElement)("img",{src:s()?.logo_url,alt:(0,a.__)("Clearpay","woo_clearpay")}),ariaLabel:(0,a.__)("Clearpay payment method","woo_clearpay"),canMakePayment:({cartTotals:e})=>{const a=Math.max("1.00",parseFloat(s()?.min)),r=parseFloat(s()?.max),t=parseFloat(e.total_price)/Math.pow(10,e.currency_minor_unit);return t>=a&&t<=r},content:(0,e.createElement)(d,null),edit:(0,e.createElement)(d,null),supports:{features:null!==(l=s()?.supports)&&void 0!==l?l:[]}});const u=()=>{const{ec_button:a}=s();return(0,t.useEffect)((()=>{(0,p.U)()}),[]),(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:a}})};(0,n.registerExpressPaymentMethod)({name:"express_"+o,paymentMethodId:o,content:(0,e.createElement)(u,null),edit:(0,e.createElement)(u,null),canMakePayment:({cart:{cartItems:e,cartNeedsShipping:a,cartTotals:r}})=>{const{frontend_is_ready:t,ec_enabled:n,min:o,max:c}=s()||{},l=t&&n&&a&&(e=>!Array.isArray(e)||!e.some((e=>0==e.extensions?.woo_clearpay?.eligible)))(e);if(l){const{total_price:e,currency_minor_unit:a}=r,t=parseFloat(e)/Math.pow(10,a),n=Math.max("1.00",parseFloat(o)),s=parseFloat(c);return t>=n&&t<=s}return!1},supports:{features:null!==(i=s()?.supports)&&void 0!==i?i:[]}})})()})();
  • clearpay-gateway-for-woocommerce/trunk/class/WC_Gateway_Clearpay.php

    r2986472 r3009108  
    1111use Afterpay\SDK\HTTP\Request\UpdateShippingCourier;
    1212use Afterpay\SDK\Helper\UrlHelper;
     13
     14use Automattic\WooCommerce\StoreApi\Schemas\V1\CartItemSchema;
    1315
    1416if (!class_exists('WC_Gateway_Clearpay')) {
     
    299301
    300302            return
    301                 $this->enabled === 'yes' &&
    302303                $this->frontend_is_ready() &&
    303304                $within_limits  !== false &&
    304                 $products_supported !== false;
    305         }
    306 
    307         /**
    308          * Check if the gateway is available for WC Blocks.
    309          * Note:    Order amount is checked on the frontend instead.
    310          *
    311          * @return bool
    312          */
    313         public function is_available_for_blocks() {
    314             $products_supported = true;
    315             if (WC()->cart) {
    316                 $products_supported = $this->cart_products_are_supported();
    317             }
    318             return
    319                 $this->enabled === 'yes' &&
    320                 $this->frontend_is_ready() &&
    321305                $products_supported !== false;
    322306        }
     
    939923        public function render_express_checkout_on_cart_page() {
    940924            if (
    941                 !$this->express_is_available() ||
    942                 !$this->cart_is_within_limits()
     925                !$this->express_is_enabled() ||
     926                !$this->cart_is_within_limits() ||
     927                !$this->cart_products_are_supported() ||
     928                $this->cart_is_virtual()
    943929            ) {
    944930                return;
     
    958944        }
    959945
    960         public function express_is_available() {
    961             // Need to check cart total separately
     946        // Need to check cart total and eligibility separately
     947        public function express_is_enabled() {
    962948            return isset($this->settings['show-express-on-cart-page'])
    963949                && 'yes' == $this->settings['show-express-on-cart-page']
    964                 && get_woocommerce_currency() == $this->settings['settlement-currency']
    965                 && $this->cart_products_are_supported()
    966                 && !$this->cart_is_virtual();
     950                && get_woocommerce_currency() == $this->settings['settlement-currency'];
    967951        }
    968952
     
    22872271        private function get_cart_item_skus() {
    22882272            $skus = [];
    2289             if (did_action('wp_loaded')) {
     2273            if (did_action('wp_loaded') && WC()->cart) {
    22902274                foreach (WC()->cart->get_cart() as $cart_item) {
    22912275                    $product = $cart_item['data'];
     
    23392323        private function get_cart_item_categories() {
    23402324            $category_names = [];
    2341             if (did_action('wp_loaded')) {
     2325            if (did_action('wp_loaded') && WC()->cart) {
    23422326                foreach (WC()->cart->get_cart() as $cart_item) {
    23432327                    $product = $cart_item['data'];
     
    24972481            return $attributes;
    24982482        }
     2483
     2484        public function extend_store_api() {
     2485            if ( ! function_exists('woocommerce_store_api_register_endpoint_data') ) {
     2486                return;
     2487            }
     2488
     2489            woocommerce_store_api_register_endpoint_data([
     2490                'endpoint' => CartItemSchema::IDENTIFIER,
     2491                'namespace' => 'woo_clearpay',
     2492                'data_callback' => array($this, 'extend_cart_item_data'),
     2493                'schema_callback' => array($this, 'extend_cart_item_schema'),
     2494                'schema_type' => ARRAY_A,
     2495            ]);
     2496        }
     2497
     2498        public function extend_cart_item_data($cart_item) {
     2499            $product = $cart_item['data'];
     2500            $cats = $this->get_category_names_by_product($product, true);
     2501            $eligible = $this->is_product_supported($product, true);
     2502            return [
     2503                'categories' => $cats,
     2504                'eligible' => $eligible,
     2505            ];
     2506        }
     2507
     2508        public function extend_cart_item_schema() {
     2509            return [
     2510                'properties' => [
     2511                    'categories' => [
     2512                        'type' => 'array',
     2513                    ],
     2514                    'eligible' => [
     2515                        'type' => 'boolean',
     2516                    ],
     2517                ],
     2518            ];
     2519        }
    24992520    }
    25002521}
  • clearpay-gateway-for-woocommerce/trunk/class/WC_Gateway_Clearpay_Blocks_Support.php

    r2986472 r3009108  
    2020    public function initialize() {
    2121        $this->settings = get_option( 'woocommerce_clearpay_settings', [] );
    22     }
    23 
    24     /**
    25      * Returns if this payment method should be active. If false, the scripts will not be enqueued.
    26      *
    27      * @return boolean
    28      */
    29     public function is_active() {
    30         $payment_gateways_class   = WC()->payment_gateways();
    31         $payment_gateways         = $payment_gateways_class->payment_gateways();
    32 
    33         return array_key_exists('clearpay', $payment_gateways)
    34             && $payment_gateways['clearpay']->is_available_for_blocks();
    3522    }
    3623
     
    7865            'locale' => $instance->get_js_locale(),
    7966            'supports' => $this->get_supported_features(),
    80             'ec_available' => $instance->express_is_available(),
     67            'ec_enabled' => $instance->express_is_enabled(),
    8168            'ec_button' => $instance->get_express_checkout_button_for_block(),
     69            'frontend_is_ready' => $instance->frontend_is_ready(),
     70            'cart_placement_attributes' => $instance->get_cart_placement_attributes(),
    8271        ];
    8372    }
  • clearpay-gateway-for-woocommerce/trunk/clearpay-gateway-for-woocommerce.php

    r3003031 r3009108  
    55 * Author: Clearpay
    66 * Author URI: https://www.clearpay.co.uk/
    7  * Version: 3.7.2
     7 * Version: 3.7.3
    88 * Text Domain: woo_clearpay
    99 * Domain Path: /languages/
     
    4747         *                                          the value in the comments above.
    4848         */
    49         public static $version = '3.7.2';
     49        public static $version = '3.7.3';
    5050
    5151        /**
     
    101101            add_action( 'wp_ajax_nopriv_clearpay_express_complete', array($gateway, 'create_order_and_capture_endpoint') );
    102102            add_action( 'woocommerce_api_wc_gateway_clearpay', array($gateway, 'capture_payment') );
     103
    103104            /**
    104105             * Filters.
     
    405406        }
    406407
     408        public static function extend_store_api() {
     409            if ( ! self::init() ) { return; }
     410
     411            $gateway = WC_Gateway_Clearpay::getInstance();
     412            $gateway->extend_store_api();
     413        }
     414
    407415        public static function add_woocommerce_blocks_support(){
    408416            if ( class_exists( 'Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType' ) ) {
     
    476484            );
    477485
    478             /**
    479              * Register cart messaging block
    480              * Note: Unable to retrieve the WC()->cart object on the server side,
    481              * hence it cannot get the cart total dynamically, or loop through the cart items
    482              * to check restricted categories, or fetch the skus and categories for analytics.
    483              */
     486            // Register cart messaging block
    484487            $cart_messaging_asset = include( plugin_dir_path( __FILE__ ) . 'build/cart-messaging-block/frontend.asset.php');
    485488            wp_register_script(
     
    490493                true
    491494            );
    492             wp_localize_script( 'clearpay_cart_messaging','plugin_data', array(
    493                 'frontend_is_ready' => $instance->frontend_is_ready(),
    494                 'placement_attributes' => $instance->get_cart_placement_attributes(),
    495             ) );
    496495            register_block_type(
    497496                __DIR__ . '/build/cart-messaging-block/block.json',
     
    526525    add_action( 'plugins_loaded', array('Clearpay_Plugin', 'init'), 10, 0 );
    527526    add_action( 'upgrader_process_complete', array('Clearpay_Plugin', 'upgrade_complete'), 10, 2 );
     527    add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'extend_store_api') );
    528528    add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'add_woocommerce_blocks_support') );
    529529    // Declare compatibility with custom order tables for WooCommerce.
  • clearpay-gateway-for-woocommerce/trunk/readme.txt

    r3003031 r3009108  
    33Tags: woocommerce, clearpay
    44Requires at least: 4.8.3
    5 Tested up to: 6.4.1
    6 Stable tag: 3.7.2
     5Tested up to: 6.4.2
     6Stable tag: 3.7.3
    77License: GNU Public License
    88License URI: https://www.gnu.org/licenses/
     
    4040== Changelog ==
    4141
     42= 3.7.3 =
     43*Release Date: Wednesday, 13 Dec 2023*
     44
     45* Minor bug fixes.
     46* Tested and verified support for WordPress 6.4.2 and WooCommerce 8.3.1.
     47
    4248= 3.7.2 =
    4349*Release Date: Wednesday, 29 Nov 2023*
  • clearpay-gateway-for-woocommerce/trunk/vendor/composer/installed.php

    r3003031 r3009108  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '638cb91d9b55ad8584bae638de96cc5cd3b7c116',
     6        'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-master',
    1515            'version' => 'dev-master',
    16             'reference' => '638cb91d9b55ad8584bae638de96cc5cd3b7c116',
     16            'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.