Changeset 3009108
- Timestamp:
- 12/12/2023 11:41:01 PM (2 years ago)
- Location:
- clearpay-gateway-for-woocommerce
- Files:
-
- 1 deleted
- 18 edited
- 1 copied
-
tags/3.7.2 (deleted)
-
tags/3.7.3 (copied) (copied from clearpay-gateway-for-woocommerce/trunk)
-
tags/3.7.3/build/cart-messaging-block/frontend.asset.php (modified) (1 diff)
-
tags/3.7.3/build/cart-messaging-block/frontend.js (modified) (1 diff)
-
tags/3.7.3/build/clearpay-blocks/index.asset.php (modified) (1 diff)
-
tags/3.7.3/build/clearpay-blocks/index.js (modified) (1 diff)
-
tags/3.7.3/class/WC_Gateway_Clearpay.php (modified) (7 diffs)
-
tags/3.7.3/class/WC_Gateway_Clearpay_Blocks_Support.php (modified) (2 diffs)
-
tags/3.7.3/clearpay-gateway-for-woocommerce.php (modified) (7 diffs)
-
tags/3.7.3/readme.txt (modified) (2 diffs)
-
tags/3.7.3/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/build/cart-messaging-block/frontend.asset.php (modified) (1 diff)
-
trunk/build/cart-messaging-block/frontend.js (modified) (1 diff)
-
trunk/build/clearpay-blocks/index.asset.php (modified) (1 diff)
-
trunk/build/clearpay-blocks/index.js (modified) (1 diff)
-
trunk/class/WC_Gateway_Clearpay.php (modified) (7 diffs)
-
trunk/class/WC_Gateway_Clearpay_Blocks_Support.php (modified) (2 diffs)
-
trunk/clearpay-gateway-for-woocommerce.php (modified) (7 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
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 11 11 use Afterpay\SDK\HTTP\Request\UpdateShippingCourier; 12 12 use Afterpay\SDK\Helper\UrlHelper; 13 14 use Automattic\WooCommerce\StoreApi\Schemas\V1\CartItemSchema; 13 15 14 16 if (!class_exists('WC_Gateway_Clearpay')) { … … 299 301 300 302 return 301 $this->enabled === 'yes' &&302 303 $this->frontend_is_ready() && 303 304 $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 bool312 */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 return319 $this->enabled === 'yes' &&320 $this->frontend_is_ready() &&321 305 $products_supported !== false; 322 306 } … … 939 923 public function render_express_checkout_on_cart_page() { 940 924 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() 943 929 ) { 944 930 return; … … 958 944 } 959 945 960 public function express_is_available() {961 // Need to check cart total separately946 // Need to check cart total and eligibility separately 947 public function express_is_enabled() { 962 948 return isset($this->settings['show-express-on-cart-page']) 963 949 && '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']; 967 951 } 968 952 … … 2287 2271 private function get_cart_item_skus() { 2288 2272 $skus = []; 2289 if (did_action('wp_loaded') ) {2273 if (did_action('wp_loaded') && WC()->cart) { 2290 2274 foreach (WC()->cart->get_cart() as $cart_item) { 2291 2275 $product = $cart_item['data']; … … 2339 2323 private function get_cart_item_categories() { 2340 2324 $category_names = []; 2341 if (did_action('wp_loaded') ) {2325 if (did_action('wp_loaded') && WC()->cart) { 2342 2326 foreach (WC()->cart->get_cart() as $cart_item) { 2343 2327 $product = $cart_item['data']; … … 2497 2481 return $attributes; 2498 2482 } 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 } 2499 2520 } 2500 2521 } -
clearpay-gateway-for-woocommerce/tags/3.7.3/class/WC_Gateway_Clearpay_Blocks_Support.php
r2986472 r3009108 20 20 public function initialize() { 21 21 $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 boolean28 */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();35 22 } 36 23 … … 78 65 'locale' => $instance->get_js_locale(), 79 66 'supports' => $this->get_supported_features(), 80 'ec_ available' => $instance->express_is_available(),67 'ec_enabled' => $instance->express_is_enabled(), 81 68 '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(), 82 71 ]; 83 72 } -
clearpay-gateway-for-woocommerce/tags/3.7.3/clearpay-gateway-for-woocommerce.php
r3003031 r3009108 5 5 * Author: Clearpay 6 6 * Author URI: https://www.clearpay.co.uk/ 7 * Version: 3.7. 27 * Version: 3.7.3 8 8 * Text Domain: woo_clearpay 9 9 * Domain Path: /languages/ … … 47 47 * the value in the comments above. 48 48 */ 49 public static $version = '3.7. 2';49 public static $version = '3.7.3'; 50 50 51 51 /** … … 101 101 add_action( 'wp_ajax_nopriv_clearpay_express_complete', array($gateway, 'create_order_and_capture_endpoint') ); 102 102 add_action( 'woocommerce_api_wc_gateway_clearpay', array($gateway, 'capture_payment') ); 103 103 104 /** 104 105 * Filters. … … 405 406 } 406 407 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 407 415 public static function add_woocommerce_blocks_support(){ 408 416 if ( class_exists( 'Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType' ) ) { … … 476 484 ); 477 485 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 484 487 $cart_messaging_asset = include( plugin_dir_path( __FILE__ ) . 'build/cart-messaging-block/frontend.asset.php'); 485 488 wp_register_script( … … 490 493 true 491 494 ); 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 ) );496 495 register_block_type( 497 496 __DIR__ . '/build/cart-messaging-block/block.json', … … 526 525 add_action( 'plugins_loaded', array('Clearpay_Plugin', 'init'), 10, 0 ); 527 526 add_action( 'upgrader_process_complete', array('Clearpay_Plugin', 'upgrade_complete'), 10, 2 ); 527 add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'extend_store_api') ); 528 528 add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'add_woocommerce_blocks_support') ); 529 529 // Declare compatibility with custom order tables for WooCommerce. -
clearpay-gateway-for-woocommerce/tags/3.7.3/readme.txt
r3003031 r3009108 3 3 Tags: woocommerce, clearpay 4 4 Requires at least: 4.8.3 5 Tested up to: 6.4. 16 Stable tag: 3.7. 25 Tested up to: 6.4.2 6 Stable tag: 3.7.3 7 7 License: GNU Public License 8 8 License URI: https://www.gnu.org/licenses/ … … 40 40 == Changelog == 41 41 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 42 48 = 3.7.2 = 43 49 *Release Date: Wednesday, 29 Nov 2023* -
clearpay-gateway-for-woocommerce/tags/3.7.3/vendor/composer/installed.php
r3003031 r3009108 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' 638cb91d9b55ad8584bae638de96cc5cd3b7c116',6 'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' 638cb91d9b55ad8584bae638de96cc5cd3b7c116',16 'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392', 17 17 'type' => 'library', 18 18 '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 11 11 use Afterpay\SDK\HTTP\Request\UpdateShippingCourier; 12 12 use Afterpay\SDK\Helper\UrlHelper; 13 14 use Automattic\WooCommerce\StoreApi\Schemas\V1\CartItemSchema; 13 15 14 16 if (!class_exists('WC_Gateway_Clearpay')) { … … 299 301 300 302 return 301 $this->enabled === 'yes' &&302 303 $this->frontend_is_ready() && 303 304 $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 bool312 */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 return319 $this->enabled === 'yes' &&320 $this->frontend_is_ready() &&321 305 $products_supported !== false; 322 306 } … … 939 923 public function render_express_checkout_on_cart_page() { 940 924 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() 943 929 ) { 944 930 return; … … 958 944 } 959 945 960 public function express_is_available() {961 // Need to check cart total separately946 // Need to check cart total and eligibility separately 947 public function express_is_enabled() { 962 948 return isset($this->settings['show-express-on-cart-page']) 963 949 && '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']; 967 951 } 968 952 … … 2287 2271 private function get_cart_item_skus() { 2288 2272 $skus = []; 2289 if (did_action('wp_loaded') ) {2273 if (did_action('wp_loaded') && WC()->cart) { 2290 2274 foreach (WC()->cart->get_cart() as $cart_item) { 2291 2275 $product = $cart_item['data']; … … 2339 2323 private function get_cart_item_categories() { 2340 2324 $category_names = []; 2341 if (did_action('wp_loaded') ) {2325 if (did_action('wp_loaded') && WC()->cart) { 2342 2326 foreach (WC()->cart->get_cart() as $cart_item) { 2343 2327 $product = $cart_item['data']; … … 2497 2481 return $attributes; 2498 2482 } 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 } 2499 2520 } 2500 2521 } -
clearpay-gateway-for-woocommerce/trunk/class/WC_Gateway_Clearpay_Blocks_Support.php
r2986472 r3009108 20 20 public function initialize() { 21 21 $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 boolean28 */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();35 22 } 36 23 … … 78 65 'locale' => $instance->get_js_locale(), 79 66 'supports' => $this->get_supported_features(), 80 'ec_ available' => $instance->express_is_available(),67 'ec_enabled' => $instance->express_is_enabled(), 81 68 '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(), 82 71 ]; 83 72 } -
clearpay-gateway-for-woocommerce/trunk/clearpay-gateway-for-woocommerce.php
r3003031 r3009108 5 5 * Author: Clearpay 6 6 * Author URI: https://www.clearpay.co.uk/ 7 * Version: 3.7. 27 * Version: 3.7.3 8 8 * Text Domain: woo_clearpay 9 9 * Domain Path: /languages/ … … 47 47 * the value in the comments above. 48 48 */ 49 public static $version = '3.7. 2';49 public static $version = '3.7.3'; 50 50 51 51 /** … … 101 101 add_action( 'wp_ajax_nopriv_clearpay_express_complete', array($gateway, 'create_order_and_capture_endpoint') ); 102 102 add_action( 'woocommerce_api_wc_gateway_clearpay', array($gateway, 'capture_payment') ); 103 103 104 /** 104 105 * Filters. … … 405 406 } 406 407 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 407 415 public static function add_woocommerce_blocks_support(){ 408 416 if ( class_exists( 'Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType' ) ) { … … 476 484 ); 477 485 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 484 487 $cart_messaging_asset = include( plugin_dir_path( __FILE__ ) . 'build/cart-messaging-block/frontend.asset.php'); 485 488 wp_register_script( … … 490 493 true 491 494 ); 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 ) );496 495 register_block_type( 497 496 __DIR__ . '/build/cart-messaging-block/block.json', … … 526 525 add_action( 'plugins_loaded', array('Clearpay_Plugin', 'init'), 10, 0 ); 527 526 add_action( 'upgrader_process_complete', array('Clearpay_Plugin', 'upgrade_complete'), 10, 2 ); 527 add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'extend_store_api') ); 528 528 add_action( 'woocommerce_blocks_loaded', array('Clearpay_Plugin', 'add_woocommerce_blocks_support') ); 529 529 // Declare compatibility with custom order tables for WooCommerce. -
clearpay-gateway-for-woocommerce/trunk/readme.txt
r3003031 r3009108 3 3 Tags: woocommerce, clearpay 4 4 Requires at least: 4.8.3 5 Tested up to: 6.4. 16 Stable tag: 3.7. 25 Tested up to: 6.4.2 6 Stable tag: 3.7.3 7 7 License: GNU Public License 8 8 License URI: https://www.gnu.org/licenses/ … … 40 40 == Changelog == 41 41 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 42 48 = 3.7.2 = 43 49 *Release Date: Wednesday, 29 Nov 2023* -
clearpay-gateway-for-woocommerce/trunk/vendor/composer/installed.php
r3003031 r3009108 4 4 'pretty_version' => 'dev-master', 5 5 'version' => 'dev-master', 6 'reference' => ' 638cb91d9b55ad8584bae638de96cc5cd3b7c116',6 'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-master', 15 15 'version' => 'dev-master', 16 'reference' => ' 638cb91d9b55ad8584bae638de96cc5cd3b7c116',16 'reference' => 'b066c5fd1ef924c73edbda7a377d4f3c91b79392', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.