Plugin Directory

Changeset 2987288


Ignore:
Timestamp:
11/01/2023 09:55:41 AM (2 years ago)
Author:
tabbyai
Message:

Tagging version 4.8.3

Location:
tabby-checkout
Files:
5 edited
25 copied

Legend:

Unmodified
Added
Removed
  • tabby-checkout/tags/4.8.3/includes/class-wc-settings-tab-tabby.php

    r2927757 r2987288  
    88        add_action( 'woocommerce_update_options_settings_tab_tabby', array(__CLASS__, 'tabby_update_settings') );
    99
    10         add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_public_key', array(__CLASS__, 'sanitize_public_key') );
    11         add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_secret_key', array(__CLASS__, 'sanitize_secret_key') );
     10        if (array_key_exists('tabby_checkout_mode', $_POST) && $_POST['tabby_checkout_mode'] == 'payment') {
     11            add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_public_key', array(__CLASS__, 'sanitize_public_key') );
     12            add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_secret_key', array(__CLASS__, 'sanitize_secret_key') );
     13        }
    1214    }
    1315
     
    6567            );
    6668            $settings_tabby[] = array(
     69                'name'     => __( 'Plugin mode', 'tabby-checkout' ),
     70                'id'       => 'tabby_checkout_mode',
     71                'type'     => 'select',
     72                'desc'     => __( 'Operational mode: Payment gateway or promotions only', 'tabby-checkout' ),
     73                'options'  => [
     74                    'payment'   => __('Payment gateway', 'tabby-checkout'),
     75                    'promo'     => __('Promo only', 'tabby-checkout')
     76                ],
     77                'default'   => 'payment'
     78            );
     79            $settings_tabby[] = array(
    6780                'name'     => __( 'Merchant Public Key', 'tabby-checkout' ),
    6881                'id'       => 'tabby_checkout_public_key',
    6982                'type'     => 'password',
     83                'class'    => 'promo-hidden',
    7084                'desc'     => __( 'Used for public API calls<br /><b>pk_[test_]xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</b>', 'tabby-checkout' ),
    7185                'custom_attributes' => array(
     
    7892                'id'       => 'tabby_checkout_secret_key',
    7993                'type'     => 'password',
     94                'class'    => 'promo-hidden',
    8095                'desc'     => __( 'Used for server to server calls<br /><b>sk_[test_]xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</b>', 'tabby-checkout' ),
    8196                'custom_attributes' => array(
     
    100115                'id'       => 'tabby_checkout_order_timeout',
    101116                'type'     => 'text',
     117                'class'    => 'promo-hidden',
    102118                'desc'     => __( 'Used for deleting unpaid orders', 'tabby-checkout' ),
    103119                'type'              => 'number',
     
    116132                'desc'     => __( 'Delete or cancel unpaid orders', 'tabby-checkout' ),
    117133                'type'     => 'select',
     134                'class'    => 'promo-hidden',
    118135                'options'  => [
    119136                    'delete' => __('Cancel & Delete', 'tabby-checkout'),
     
    128145                'id'       => 'tabby_checkout_use_phone',
    129146                'type'     => 'checkbox',
     147                'class'    => 'promo-hidden',
    130148                'desc'     => __( 'Add order history by phone', 'tabby-checkout' ),
    131149                'default'  => 'yes'
     
    135153                'id'       => 'tabby_checkout_capture',
    136154                'type'     => 'checkbox',
     155                'class'    => 'promo-hidden',
    137156                'desc'     => __( 'Enable payment capture on checkout', 'tabby-checkout' ),
    138157                'default'  => 'yes'
     
    216235                'id'       => 'tabby_countries',
    217236                'type'     => 'multiselect',
     237                'class'    => 'promo-hidden',
    218238                'desc'     => __( 'Tabby allowed countries', 'tabby-checkout' ),
    219239                'options'  => $options,
     
    230250                'id'       => 'tabby_checkout_hide_methods',
    231251                'type'     => 'checkbox',
     252                'class'    => 'promo-hidden',
    232253                'desc'     => __( 'Hide Tabby payment methods on checkout if not available', 'tabby-checkout' ),
    233254            );
     
    236257                'id'       => 'tabby_checkout_debug',
    237258                'type'     => 'checkbox',
     259                'class'    => 'promo-hidden',
    238260                'desc'     => __( 'Enable API request/reply logging', 'tabby-checkout' ),
    239261                'default'  => 'yes'
     
    252274jQuery(document).ready(function () {
    253275    jQuery("#tabby_checkout_public_key, #tabby_checkout_secret_key").change(function (el) {
     276        let plugin_mode = jQuery("#tabby_checkout_mode");
    254277        let public_key = jQuery("#tabby_checkout_public_key");
    255278        let secret_key = jQuery("#tabby_checkout_secret_key");
    256279        let error = false;
    257280        public_key.parent().children(".description").children(".notice").remove();
    258         if (!/^pk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(public_key.val())) {
    259             public_key.parent().children(".description").prepend(
    260                 jQuery("<div>").addClass("notice notice-error").html("Wrong public key format.")
    261             );
    262             error ||= true;
    263         } else {
    264             public_key.parent().children(".description").prepend(
    265                 jQuery("<div>").addClass("notice notice-success").html("Public key format is correct.")
    266             );
    267         }
    268281        secret_key.parent().children(".description").children(".notice").remove();
    269         if (!/^sk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(secret_key.val())) {
    270             secret_key.parent().children(".description").prepend(
    271                 jQuery("<div>").addClass("notice notice-error").html("Wrong secret key format.")
    272             );
    273             error ||= true;
    274         } else {
    275             secret_key.parent().children(".description").prepend(
    276                 jQuery("<div>").addClass("notice notice-success").html("Secret key format is correct.")
    277             );
     282        if (plugin_mode.val() == "payment") {
     283            if (!/^pk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(public_key.val())) {
     284                public_key.parent().children(".description").prepend(
     285                    jQuery("<div>").addClass("notice notice-error").html("Wrong public key format.")
     286                );
     287                error ||= true;
     288            } else {
     289                public_key.parent().children(".description").prepend(
     290                    jQuery("<div>").addClass("notice notice-success").html("Public key format is correct.")
     291                );
     292            }
     293            if (!/^sk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(secret_key.val())) {
     294                secret_key.parent().children(".description").prepend(
     295                    jQuery("<div>").addClass("notice notice-error").html("Wrong secret key format.")
     296                );
     297                error ||= true;
     298            } else {
     299                secret_key.parent().children(".description").prepend(
     300                    jQuery("<div>").addClass("notice notice-success").html("Secret key format is correct.")
     301                );
     302            }
    278303        }
    279304        if (error) {
     
    283308        }
    284309    });
     310    jQuery("#tabby_checkout_mode").on("change", function (event) {
     311        let elem = jQuery(event.target);
     312        let table = elem.parents("table").first();
     313        if (elem.val() == "payment") {
     314            table.addClass("payment-mode");
     315            table.find(".promo-hidden").each(function (c, el) {
     316                jQuery(el).parents("tr").first().css("display", "table-row");
     317            });
     318        } else {
     319            table.removeClass("payment-mode");
     320            table.find(".promo-hidden").each(function (c, el) {
     321                jQuery(el).parents("tr").first().css("display", "none");
     322            });
     323            jQuery(".button-primary.woocommerce-save-button").removeAttr("disabled");
     324        }
     325    });
     326    jQuery("#tabby_checkout_mode").trigger("change");
    285327});
    286328</script>
  • tabby-checkout/tags/4.8.3/includes/class-wc-tabby.php

    r2927757 r2987288  
    1919    }
    2020    public static function add_checkout_methods( $methods ) {
    21         $methods[] = 'WC_Gateway_Tabby_Installments';
    22         if ( !isset( $_REQUEST['page'] ) ||  'wc-settings' !== $_REQUEST['page'] ) {
    23             $methods[] = 'WC_Gateway_Tabby_PayLater';
    24             $methods[] = 'WC_Gateway_Tabby_Credit_Card_Installments';
     21        if (get_option('tabby_checkout_mode', 'payment') == 'payment') {
     22            $methods[] = 'WC_Gateway_Tabby_Installments';
     23            if ( !isset( $_REQUEST['page'] ) ||  'wc-settings' !== $_REQUEST['page'] ) {
     24                $methods[] = 'WC_Gateway_Tabby_PayLater';
     25                $methods[] = 'WC_Gateway_Tabby_Credit_Card_Installments';
     26            }
    2527        }
    2628        return $methods;
  • tabby-checkout/tags/4.8.3/js/tabby.js

    r2927757 r2987288  
    5151    }
    5252    getFieldEmail() {
    53         if (tabbyConfig && tabbyConfig.ignoreEmail) {
     53        if (typeof tabbyConfig !== 'undefined' && tabbyConfig.ignoreEmail) {
    5454            return {val: function() {return ' ';}};
    5555        }
     
    100100            // remove error
    101101            jQuery(".payment_box.payment_method_tabby_" + tabbyRenderer.methods[i] + ' > .woocommerce-error').remove();
    102             jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #tabbyCard, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'block');
     102            jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #' + tabbyRenderer.methods[i] + 'Card, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'block');
    103103            if ((selected == 'tabby_' + tabbyRenderer.methods[i]) && !tabbyRenderer.products.hasOwnProperty(i)) {
    104104                jQuery("#place_order").attr('disabled', 'disabled');
    105105                if (tabbyConfig && tabbyRenderer.formFilled) {
    106                     jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #tabbyCard, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'none');
     106                    jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #' + tabbyRenderer.methods[i] + 'Card, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'none');
    107107                    jQuery(".payment_box.payment_method_tabby_" + tabbyRenderer.methods[i]).append(
    108108                        jQuery("<div class='woocommerce-error'>").html(tabbyConfig.notAvailableMessage)
  • tabby-checkout/tags/4.8.3/readme.txt

    r2927757 r2987288  
    33Tags: tabby, tabby plugin, tabby checkout, bnpl, tabby bnpl
    44Requires at least: 5.7
    5 Tested up to: 6.2
    6 Stable tag: 4.6.0
     5Tested up to: 6.4
     6Stable tag: 4.8.3
    77Requires PHP: 7.0
    88License: GPLv3
     
    2828
    2929== Changelog ==
     30
     31= 4.8.3 =
     32
     33* Minor fixes, readme update
     34
     35= 4.8.0 =
     36
     37* Tested with WP 6.4
     38
     39= 4.7.0 =
     40
     41* Plugin mode promo/payment
    3042
    3143= 4.6.0 =
  • tabby-checkout/tags/4.8.3/tabby-checkout.php

    r2927757 r2987288  
    44 * Plugin URI: https://tabby.ai/
    55 * Description: Tabby Checkout
    6  * Version: 4.6.0
     6 * Version: 4.8.3
    77 * Author: Tabby
    88 * Author URI: https://tabby.ai
     
    1616defined( 'ABSPATH' ) || exit;
    1717
    18 define ('MODULE_TABBY_CHECKOUT_VERSION', '4.6.0');
     18define ('MODULE_TABBY_CHECKOUT_VERSION', '4.8.3');
    1919define ('TABBY_CHECKOUT_DOMAIN', 'checkout.tabby.ai');
    2020define ('TABBY_CHECKOUT_API_DOMAIN', 'api.tabby.ai');
  • tabby-checkout/trunk/includes/class-wc-settings-tab-tabby.php

    r2927757 r2987288  
    88        add_action( 'woocommerce_update_options_settings_tab_tabby', array(__CLASS__, 'tabby_update_settings') );
    99
    10         add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_public_key', array(__CLASS__, 'sanitize_public_key') );
    11         add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_secret_key', array(__CLASS__, 'sanitize_secret_key') );
     10        if (array_key_exists('tabby_checkout_mode', $_POST) && $_POST['tabby_checkout_mode'] == 'payment') {
     11            add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_public_key', array(__CLASS__, 'sanitize_public_key') );
     12            add_action( 'woocommerce_admin_settings_sanitize_option_tabby_checkout_secret_key', array(__CLASS__, 'sanitize_secret_key') );
     13        }
    1214    }
    1315
     
    6567            );
    6668            $settings_tabby[] = array(
     69                'name'     => __( 'Plugin mode', 'tabby-checkout' ),
     70                'id'       => 'tabby_checkout_mode',
     71                'type'     => 'select',
     72                'desc'     => __( 'Operational mode: Payment gateway or promotions only', 'tabby-checkout' ),
     73                'options'  => [
     74                    'payment'   => __('Payment gateway', 'tabby-checkout'),
     75                    'promo'     => __('Promo only', 'tabby-checkout')
     76                ],
     77                'default'   => 'payment'
     78            );
     79            $settings_tabby[] = array(
    6780                'name'     => __( 'Merchant Public Key', 'tabby-checkout' ),
    6881                'id'       => 'tabby_checkout_public_key',
    6982                'type'     => 'password',
     83                'class'    => 'promo-hidden',
    7084                'desc'     => __( 'Used for public API calls<br /><b>pk_[test_]xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</b>', 'tabby-checkout' ),
    7185                'custom_attributes' => array(
     
    7892                'id'       => 'tabby_checkout_secret_key',
    7993                'type'     => 'password',
     94                'class'    => 'promo-hidden',
    8095                'desc'     => __( 'Used for server to server calls<br /><b>sk_[test_]xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</b>', 'tabby-checkout' ),
    8196                'custom_attributes' => array(
     
    100115                'id'       => 'tabby_checkout_order_timeout',
    101116                'type'     => 'text',
     117                'class'    => 'promo-hidden',
    102118                'desc'     => __( 'Used for deleting unpaid orders', 'tabby-checkout' ),
    103119                'type'              => 'number',
     
    116132                'desc'     => __( 'Delete or cancel unpaid orders', 'tabby-checkout' ),
    117133                'type'     => 'select',
     134                'class'    => 'promo-hidden',
    118135                'options'  => [
    119136                    'delete' => __('Cancel & Delete', 'tabby-checkout'),
     
    128145                'id'       => 'tabby_checkout_use_phone',
    129146                'type'     => 'checkbox',
     147                'class'    => 'promo-hidden',
    130148                'desc'     => __( 'Add order history by phone', 'tabby-checkout' ),
    131149                'default'  => 'yes'
     
    135153                'id'       => 'tabby_checkout_capture',
    136154                'type'     => 'checkbox',
     155                'class'    => 'promo-hidden',
    137156                'desc'     => __( 'Enable payment capture on checkout', 'tabby-checkout' ),
    138157                'default'  => 'yes'
     
    216235                'id'       => 'tabby_countries',
    217236                'type'     => 'multiselect',
     237                'class'    => 'promo-hidden',
    218238                'desc'     => __( 'Tabby allowed countries', 'tabby-checkout' ),
    219239                'options'  => $options,
     
    230250                'id'       => 'tabby_checkout_hide_methods',
    231251                'type'     => 'checkbox',
     252                'class'    => 'promo-hidden',
    232253                'desc'     => __( 'Hide Tabby payment methods on checkout if not available', 'tabby-checkout' ),
    233254            );
     
    236257                'id'       => 'tabby_checkout_debug',
    237258                'type'     => 'checkbox',
     259                'class'    => 'promo-hidden',
    238260                'desc'     => __( 'Enable API request/reply logging', 'tabby-checkout' ),
    239261                'default'  => 'yes'
     
    252274jQuery(document).ready(function () {
    253275    jQuery("#tabby_checkout_public_key, #tabby_checkout_secret_key").change(function (el) {
     276        let plugin_mode = jQuery("#tabby_checkout_mode");
    254277        let public_key = jQuery("#tabby_checkout_public_key");
    255278        let secret_key = jQuery("#tabby_checkout_secret_key");
    256279        let error = false;
    257280        public_key.parent().children(".description").children(".notice").remove();
    258         if (!/^pk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(public_key.val())) {
    259             public_key.parent().children(".description").prepend(
    260                 jQuery("<div>").addClass("notice notice-error").html("Wrong public key format.")
    261             );
    262             error ||= true;
    263         } else {
    264             public_key.parent().children(".description").prepend(
    265                 jQuery("<div>").addClass("notice notice-success").html("Public key format is correct.")
    266             );
    267         }
    268281        secret_key.parent().children(".description").children(".notice").remove();
    269         if (!/^sk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(secret_key.val())) {
    270             secret_key.parent().children(".description").prepend(
    271                 jQuery("<div>").addClass("notice notice-error").html("Wrong secret key format.")
    272             );
    273             error ||= true;
    274         } else {
    275             secret_key.parent().children(".description").prepend(
    276                 jQuery("<div>").addClass("notice notice-success").html("Secret key format is correct.")
    277             );
     282        if (plugin_mode.val() == "payment") {
     283            if (!/^pk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(public_key.val())) {
     284                public_key.parent().children(".description").prepend(
     285                    jQuery("<div>").addClass("notice notice-error").html("Wrong public key format.")
     286                );
     287                error ||= true;
     288            } else {
     289                public_key.parent().children(".description").prepend(
     290                    jQuery("<div>").addClass("notice notice-success").html("Public key format is correct.")
     291                );
     292            }
     293            if (!/^sk_(test_)?[\da-f]{8}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{4}\-[\da-f]{12}$/.test(secret_key.val())) {
     294                secret_key.parent().children(".description").prepend(
     295                    jQuery("<div>").addClass("notice notice-error").html("Wrong secret key format.")
     296                );
     297                error ||= true;
     298            } else {
     299                secret_key.parent().children(".description").prepend(
     300                    jQuery("<div>").addClass("notice notice-success").html("Secret key format is correct.")
     301                );
     302            }
    278303        }
    279304        if (error) {
     
    283308        }
    284309    });
     310    jQuery("#tabby_checkout_mode").on("change", function (event) {
     311        let elem = jQuery(event.target);
     312        let table = elem.parents("table").first();
     313        if (elem.val() == "payment") {
     314            table.addClass("payment-mode");
     315            table.find(".promo-hidden").each(function (c, el) {
     316                jQuery(el).parents("tr").first().css("display", "table-row");
     317            });
     318        } else {
     319            table.removeClass("payment-mode");
     320            table.find(".promo-hidden").each(function (c, el) {
     321                jQuery(el).parents("tr").first().css("display", "none");
     322            });
     323            jQuery(".button-primary.woocommerce-save-button").removeAttr("disabled");
     324        }
     325    });
     326    jQuery("#tabby_checkout_mode").trigger("change");
    285327});
    286328</script>
  • tabby-checkout/trunk/includes/class-wc-tabby.php

    r2927757 r2987288  
    1919    }
    2020    public static function add_checkout_methods( $methods ) {
    21         $methods[] = 'WC_Gateway_Tabby_Installments';
    22         if ( !isset( $_REQUEST['page'] ) ||  'wc-settings' !== $_REQUEST['page'] ) {
    23             $methods[] = 'WC_Gateway_Tabby_PayLater';
    24             $methods[] = 'WC_Gateway_Tabby_Credit_Card_Installments';
     21        if (get_option('tabby_checkout_mode', 'payment') == 'payment') {
     22            $methods[] = 'WC_Gateway_Tabby_Installments';
     23            if ( !isset( $_REQUEST['page'] ) ||  'wc-settings' !== $_REQUEST['page'] ) {
     24                $methods[] = 'WC_Gateway_Tabby_PayLater';
     25                $methods[] = 'WC_Gateway_Tabby_Credit_Card_Installments';
     26            }
    2527        }
    2628        return $methods;
  • tabby-checkout/trunk/js/tabby.js

    r2927757 r2987288  
    5151    }
    5252    getFieldEmail() {
    53         if (tabbyConfig && tabbyConfig.ignoreEmail) {
     53        if (typeof tabbyConfig !== 'undefined' && tabbyConfig.ignoreEmail) {
    5454            return {val: function() {return ' ';}};
    5555        }
     
    100100            // remove error
    101101            jQuery(".payment_box.payment_method_tabby_" + tabbyRenderer.methods[i] + ' > .woocommerce-error').remove();
    102             jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #tabbyCard, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'block');
     102            jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #' + tabbyRenderer.methods[i] + 'Card, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'block');
    103103            if ((selected == 'tabby_' + tabbyRenderer.methods[i]) && !tabbyRenderer.products.hasOwnProperty(i)) {
    104104                jQuery("#place_order").attr('disabled', 'disabled');
    105105                if (tabbyConfig && tabbyRenderer.formFilled) {
    106                     jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #tabbyCard, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'none');
     106                    jQuery('.payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > #' + tabbyRenderer.methods[i] + 'Card, .payment_box.payment_method_tabby_' + tabbyRenderer.methods[i] + ' > .tabbyDesc').css('display', 'none');
    107107                    jQuery(".payment_box.payment_method_tabby_" + tabbyRenderer.methods[i]).append(
    108108                        jQuery("<div class='woocommerce-error'>").html(tabbyConfig.notAvailableMessage)
  • tabby-checkout/trunk/readme.txt

    r2927757 r2987288  
    33Tags: tabby, tabby plugin, tabby checkout, bnpl, tabby bnpl
    44Requires at least: 5.7
    5 Tested up to: 6.2
    6 Stable tag: 4.6.0
     5Tested up to: 6.4
     6Stable tag: 4.8.3
    77Requires PHP: 7.0
    88License: GPLv3
     
    2828
    2929== Changelog ==
     30
     31= 4.8.3 =
     32
     33* Minor fixes, readme update
     34
     35= 4.8.0 =
     36
     37* Tested with WP 6.4
     38
     39= 4.7.0 =
     40
     41* Plugin mode promo/payment
    3042
    3143= 4.6.0 =
  • tabby-checkout/trunk/tabby-checkout.php

    r2927757 r2987288  
    44 * Plugin URI: https://tabby.ai/
    55 * Description: Tabby Checkout
    6  * Version: 4.6.0
     6 * Version: 4.8.3
    77 * Author: Tabby
    88 * Author URI: https://tabby.ai
     
    1616defined( 'ABSPATH' ) || exit;
    1717
    18 define ('MODULE_TABBY_CHECKOUT_VERSION', '4.6.0');
     18define ('MODULE_TABBY_CHECKOUT_VERSION', '4.8.3');
    1919define ('TABBY_CHECKOUT_DOMAIN', 'checkout.tabby.ai');
    2020define ('TABBY_CHECKOUT_API_DOMAIN', 'api.tabby.ai');
Note: See TracChangeset for help on using the changeset viewer.