Plugin Directory

Changeset 3135161


Ignore:
Timestamp:
08/13/2024 09:47:10 PM (20 months ago)
Author:
clearsale
Message:

Adding 3.1.3 version of clearsale-total

Location:
clearsale-total
Files:
13 edited
15 copied

Legend:

Unmodified
Added
Removed
  • clearsale-total/tags/3.1.1/CHANGELOG.md

    r3050596 r3135161  
    2020
    2121### Added
    22 - Método PaylPal mas sem dados de cartão.
     22- Método PayPal mas sem dados de cartão.
    2323
    2424
  • clearsale-total/tags/3.1.1/README.txt

    r3050596 r3135161  
    102102
    103103### Added
    104 - Método PaylPal mas sem dados de cartão.
     104- Método PayPal mas sem dados de cartão.
    105105
    106106
  • clearsale-total/tags/3.1.3/CHANGELOG.md

    r3076078 r3135161  
     1## [3.1.3] - 2024-08-05
     2
     3### Added
     4- Método Click2pay 1.3.0
     5
     6### Fixed
     7- No checkout_order_processed salvava session de forma errada
     8
     9
    110## [3.1.2] - 2024-03-22
    211
  • clearsale-total/tags/3.1.3/README.txt

    r3076078 r3135161  
    44Tags:  fraud, fraud protection, prevent fake orders, e-commerce, woocommerce, sell, store, loja virtual, shop, clearsale, antifraude, análise por inteligência artificial, equipe de detecção de fraude, cartão de crédito
    55Requires at least: 5.0
    6 Tested up to: 6.5
    7 Stable tag: 3.1.2
     6Tested up to: 6.6
     7Stable tag: 3.1.3
    88Requires PHP: 5.6
    99License: GPLv2 or later
     
    1111
    1212Integração do WooCommerce com a ClearSale.
    13 testado: wordpress 6.5
    14 woocommerce 8.8
     13testado: wordpress 6.6
     14woocommerce 9.1
    1515Requisitos:
    1616php 5.6 ou maior
     
    8181
    8282== Changelog ==
     83## [3.1.3] - 2024-08-05
     84
     85### Added
     86- Método Click2pay 1.3.0
     87
     88### Fixed
     89- No checkout_order_processed salvava session de forma errada
     90
     91
    8392## [3.1.2] - 2024-03-22
    8493
  • clearsale-total/tags/3.1.3/admin/class-clearsale-total-admin.php

    r3050591 r3135161  
    277277    static function cs_total_render_order_resent($p_order)
    278278    {
     279        // chamar $p_order->ID tem warning, mas se for $p_order->get_id() dá erro qdo WC < 8.2
    279280        $pedido  = $p_order->ID;
    280281        if ( ! is_a($p_order, 'WC_Order') ) {
  • clearsale-total/tags/3.1.3/clearsale-total.php

    r3076078 r3135161  
    1818 * Plugin URI:        https://api.clearsale.com.br/docs/plugins/wooCommerce/totalTotalGarantidoApplication
    1919 * Description:       Integração da loja WooCommerce e a ClearSale Total. Segurança para suas vendas.
    20  * Version:           3.1.2
     20 * Version:           3.1.3
    2121 * Author:            ClearSale
    2222 * Author URI:        https://br.clear.sale
     
    5858 * Rename this for your plugin and update it as you release new versions.
    5959 */
    60 define('CLEARSALE_TOTAL_VERSION', '3.1.2');
     60define('CLEARSALE_TOTAL_VERSION', '3.1.3');
    6161
    6262/**
  • clearsale-total/tags/3.1.3/includes/class-clearsale-total-ajax.php

    r3076078 r3135161  
    164164
    165165        $wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
    166         $wl->write_log("Clearsale_Total_Ajax:clearsale_total_push: entrou...");
    167 
     166        $cart_session = $woocommerce->session->get('cs_session_id');
     167        $wl->write_log("Clearsale_Total_Ajax:clearsale_total_push: entrou com cart_session=" . $cart_session);
    168168
    169169        if( ! wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['clearsale_total_ajax_nonce'])), 'clearsale_total_ajax_nonce' )) {
     
    219219        " bin=" . substr($card, 0, 6) . " nome=" . $card_holder . " cpf=" . $cpf . " validade=" . $validate .
    220220        " installments=" . $installments);
    221         if (strlen($pedido)<=0) { esc_html_e('200', 'clearsale-total'); exit; }
     221        if (strlen($pedido)<=0 || strlen($card)<=0) { esc_html_e('200', 'clearsale-total'); exit; }
    222222
    223223        // montar array com dados do cartao para ClearSale
     
    302302            case 8: // Pagseg-Claudio
    303303            case 11: // Pagbank
     304            case 12: // Click2pay
    304305                //Em pedido, qdo for != de 1 é o sessionID
    305306                //Temos que testar se já tem a chave, se tiver foi no checkout que deu erro, por exemplo o cartão
  • clearsale-total/tags/3.1.3/includes/class-clearsale-total-api.php

    r3076078 r3135161  
    12391239        if (strstr($texto, "pagbank_credit_card")) return(1); //credito
    12401240
     1241        // Click2pay - Por Click2Pay - Versão 1.3.0 - Cartao via ajax, boleto e PIX - 31/7/24
     1242        if (strstr($texto, "click2pay-credit-card")) return(1); //credito
     1243        if (strstr($texto, "click2pay-bank-slip")) return(2);
     1244        if (strstr($texto, "click2pay-pix")) return(27);
     1245
    12411246        if (strstr($texto, "pix")) return(27); // gerencianet sai por aqui
    12421247        if (strstr($texto, "boleto")) return(2);
  • clearsale-total/tags/3.1.3/includes/class-clearsale-total-checkout.php

    r3050591 r3135161  
    210210        )
    211211        */
    212         $sess_id = (string)time(); //nunca deveria ser este
    213         if (isset($woo_sess)) {
    214             $tmp=$woo_sess->cart;
    215             //$wl->write_log("Clearsale_Total_Checkout:Cs_total_checkout_order_processed: sess_cart=" . print_r($tmp,true));
    216             $tmp1 = "";
    217             if (is_array($tmp)) {
    218                 $tmp1=array_pop($tmp);
    219                 if ($tmp1) {
    220                     $tmp2 = $tmp1['data_hash']; // [data_hash] => b5c1d5ca8bae6d4896cf1807cdf763f0
    221                     $tmp1 = $tmp1['key'] . "_" . substr($tmp2,0,6);
    222                 }
    223                 if ($tmp1) {
    224                     $sess_id = $tmp1;
    225                 }
     212        $sess_id = get_post_meta($order_id, 'cs_sess_id', true); // Pegamos o sess_id do post_meta, já salvo qdo tinha session
     213        if (empty($sess_id)) {
     214            $sess_id = $order->get_meta('cs_sess_id');
     215        }
     216        if (!$sess_id) {
     217            $sess_id = (string)time(); //nunca deveria ser este
     218            if (isset($woo_sess)) {
     219                $tmp=$woo_sess->cart;
     220                if ($tmp) {
     221                    $tmp1 = array_pop($tmp);
     222                    if ($tmp1) {
     223                        $tmp1 = $tmp1['key'];
     224                    }
     225                }
     226                $t_tail = substr((string)time(), 0, 8);
     227                //if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     228                $sess_id = (string)$tmp1 . "_" . $t_tail;
    226229            }
    227         }
    228         //Em footer calculamos um cs_sess_id com a session+timestamp e salva na session
    229         $tmp3 = $woocommerce->session->get('cs_session_id');
    230         if ($tmp3) $sess_id = $tmp3;
    231         // salvamos em banco a session do woocomerce. no callback nao temos esta session
    232         //update_post_meta($order_id, 'cs_sess_id', sanitize_text_field($sess_id));
    233         // compatibilidade com HPOS
    234         $order->update_meta_data('cs_sess_id', sanitize_text_field($sess_id));
    235         $order->save();
     230            //Em footer calculamos um cs_sess_id com a session+timestamp e salva na session
     231            $tmp3 = $woocommerce->session->get('cs_session_id');
     232            if ($tmp3) $sess_id = $tmp3;
     233            // salvamos em banco a session do woocomerce. no callback nao temos esta session
     234            //update_post_meta($order_id, 'cs_sess_id', sanitize_text_field($sess_id));
     235            // compatibilidade com HPOS
     236            $order->update_meta_data('cs_sess_id', sanitize_text_field($sess_id));
     237            $order->save();
     238        }
    236239        $wl->write_log("Clearsale_Total_Checkout:Cs_total_checkout_order_processed: session=" . $sess_id);
    237240
     
    729732    /**
    730733    * Metodo que vai ser chamado quando clicado no botão finalizar. Vamos colocar um pequeno javascript,
    731     * na verdade um declaração de variável para testar na rotina de FingerPrint a existência.
     734    * na verdade um declaração de variável para testar, na rotina de FingerPrint, a existência.
    732735    *
    733736    */
  • clearsale-total/tags/3.1.3/includes/class-clearsale-total-footer.php

    r2971562 r3135161  
    6464    {
    6565
    66         //$this->wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
     66        $this->wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
    6767        //$this->wl->write_log("Clearsale_footer: construct");
    6868
     
    8686        global $woocommerce;
    8787
    88         //$postid = get_the_ID();
    89 
    9088        $tmp = "";
    9189        $tmp1 = (string)time();
     
    10199            }
    102100        }
    103         if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     101        $tmp2 = (string)time();
     102        //$this->wl->write_log("Clearsale_footer:cs_total_Add_Js: antes timestamp=" . $tmp2);
     103        if (substr($tmp2,-2) >90) {
     104            sleep(10);
     105            $tmp2 = (string)time();
     106            //$this->wl->write_log("Clearsale_footer:cs_total_Add_Js: timestamp=" . $tmp2);
     107        }
     108        $t_tail = substr($tmp2, 0, 8);
     109        //if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     110        $this->session_id = (string)$tmp1 . "_" . $t_tail;
     111        //$tmp2 = $woocommerce->session->get('cs_session_id');
     112        $this->wl->write_log("Clearsale_footer:cs_total_Add_Js: session_id=" . $this->session_id);
    104113        $woocommerce->session->set('cs_session_id', $this->session_id);
    105 
     114       
    106115        // fingerprint
    107116        ?>
     
    122131    } // end of cs_total_Add_Js
    123132
     133    public function GetSession()
     134    {
     135        return $this->session_id;
     136    }
    124137
    125138} // end of class
  • clearsale-total/tags/3.1.3/public/js/clearsale-total-public-txt.php

    r3050618 r3135161  
    11<?php
    2 
  • clearsale-total/tags/3.1.3/public/js/clearsale-total-public.js

    r3076078 r3135161  
    248248                console.log("pagbank_credit_card");
    249249                metodo = 11;
     250            }
     251            if (checked_is == "click2pay-credit-card") {
     252                console.log("click2pay-credit-card");
     253                metodo = 12;
    250254            }
    251255        }
     
    321325                        cpf = $('#billing_cpf').val();
    322326                    }
    323 
    324327                }
    325328            }
    326329        } // end of if =11
     330        if (metodo == 12) {
     331            console.log("Ajax:ClearSale:place_order: é click2pay");
     332            if (card == null) {
     333                card = $('#click2pay-credit-card-card-number').val();
     334                if (card != null) {
     335                    card_holder = $('#click2pay-credit-card-card-holder').val();
     336                    validate = $('#click2pay-credit-card-card-expiry').val(); // mm/yy
     337                    card_installments = $('#click2pay-credit-card-card-installments').val();
     338                    if (card_installments == null) card_installments = 1;
     339                    if ($('#billing_cnpj').val()) {// CPF | CNPJ nao pede neste metodo
     340                        cpf = $('#billing_cnpj').val();
     341                    } else {
     342                        cpf = $('#billing_cpf').val();
     343                    }
     344                }
     345            }
     346        } // end of if =12
    327347
    328348        if (metodo == null) {
  • clearsale-total/trunk/CHANGELOG.md

    r3076078 r3135161  
     1## [3.1.3] - 2024-08-05
     2
     3### Added
     4- Método Click2pay 1.3.0
     5
     6### Fixed
     7- No checkout_order_processed salvava session de forma errada
     8
     9
    110## [3.1.2] - 2024-03-22
    211
     
    2635
    2736### Added
    28 - Método PaylPal mas sem dados de cartão.
     37- Método PayPal mas sem dados de cartão.
    2938
    3039
  • clearsale-total/trunk/README.txt

    r3076078 r3135161  
    44Tags:  fraud, fraud protection, prevent fake orders, e-commerce, woocommerce, sell, store, loja virtual, shop, clearsale, antifraude, análise por inteligência artificial, equipe de detecção de fraude, cartão de crédito
    55Requires at least: 5.0
    6 Tested up to: 6.5
    7 Stable tag: 3.1.2
     6Tested up to: 6.6
     7Stable tag: 3.1.3
    88Requires PHP: 5.6
    99License: GPLv2 or later
     
    1111
    1212Integração do WooCommerce com a ClearSale.
    13 testado: wordpress 6.5
    14 woocommerce 8.8
     13testado: wordpress 6.6
     14woocommerce 9.1
    1515Requisitos:
    1616php 5.6 ou maior
     
    8181
    8282== Changelog ==
     83## [3.1.3] - 2024-08-05
     84
     85### Added
     86- Método Click2pay 1.3.0
     87
     88### Fixed
     89- No checkout_order_processed salvava session de forma errada
     90
     91
    8392## [3.1.2] - 2024-03-22
    8493
     
    108117
    109118### Added
    110 - Método PaylPal mas sem dados de cartão.
     119- Método PayPal mas sem dados de cartão.
    111120
    112121
  • clearsale-total/trunk/admin/class-clearsale-total-admin.php

    r3050591 r3135161  
    277277    static function cs_total_render_order_resent($p_order)
    278278    {
     279        // chamar $p_order->ID tem warning, mas se for $p_order->get_id() dá erro qdo WC < 8.2
    279280        $pedido  = $p_order->ID;
    280281        if ( ! is_a($p_order, 'WC_Order') ) {
  • clearsale-total/trunk/clearsale-total.php

    r3076078 r3135161  
    1818 * Plugin URI:        https://api.clearsale.com.br/docs/plugins/wooCommerce/totalTotalGarantidoApplication
    1919 * Description:       Integração da loja WooCommerce e a ClearSale Total. Segurança para suas vendas.
    20  * Version:           3.1.2
     20 * Version:           3.1.3
    2121 * Author:            ClearSale
    2222 * Author URI:        https://br.clear.sale
     
    5858 * Rename this for your plugin and update it as you release new versions.
    5959 */
    60 define('CLEARSALE_TOTAL_VERSION', '3.1.2');
     60define('CLEARSALE_TOTAL_VERSION', '3.1.3');
    6161
    6262/**
  • clearsale-total/trunk/includes/class-clearsale-total-ajax.php

    r3076078 r3135161  
    164164
    165165        $wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
    166         $wl->write_log("Clearsale_Total_Ajax:clearsale_total_push: entrou...");
    167 
     166        $cart_session = $woocommerce->session->get('cs_session_id');
     167        $wl->write_log("Clearsale_Total_Ajax:clearsale_total_push: entrou com cart_session=" . $cart_session);
    168168
    169169        if( ! wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['clearsale_total_ajax_nonce'])), 'clearsale_total_ajax_nonce' )) {
     
    219219        " bin=" . substr($card, 0, 6) . " nome=" . $card_holder . " cpf=" . $cpf . " validade=" . $validate .
    220220        " installments=" . $installments);
    221         if (strlen($pedido)<=0) { esc_html_e('200', 'clearsale-total'); exit; }
     221        if (strlen($pedido)<=0 || strlen($card)<=0) { esc_html_e('200', 'clearsale-total'); exit; }
    222222
    223223        // montar array com dados do cartao para ClearSale
     
    302302            case 8: // Pagseg-Claudio
    303303            case 11: // Pagbank
     304            case 12: // Click2pay
    304305                //Em pedido, qdo for != de 1 é o sessionID
    305306                //Temos que testar se já tem a chave, se tiver foi no checkout que deu erro, por exemplo o cartão
  • clearsale-total/trunk/includes/class-clearsale-total-api.php

    r3076078 r3135161  
    12391239        if (strstr($texto, "pagbank_credit_card")) return(1); //credito
    12401240
     1241        // Click2pay - Por Click2Pay - Versão 1.3.0 - Cartao via ajax, boleto e PIX - 31/7/24
     1242        if (strstr($texto, "click2pay-credit-card")) return(1); //credito
     1243        if (strstr($texto, "click2pay-bank-slip")) return(2);
     1244        if (strstr($texto, "click2pay-pix")) return(27);
     1245
    12411246        if (strstr($texto, "pix")) return(27); // gerencianet sai por aqui
    12421247        if (strstr($texto, "boleto")) return(2);
  • clearsale-total/trunk/includes/class-clearsale-total-checkout.php

    r3050591 r3135161  
    210210        )
    211211        */
    212         $sess_id = (string)time(); //nunca deveria ser este
    213         if (isset($woo_sess)) {
    214             $tmp=$woo_sess->cart;
    215             //$wl->write_log("Clearsale_Total_Checkout:Cs_total_checkout_order_processed: sess_cart=" . print_r($tmp,true));
    216             $tmp1 = "";
    217             if (is_array($tmp)) {
    218                 $tmp1=array_pop($tmp);
    219                 if ($tmp1) {
    220                     $tmp2 = $tmp1['data_hash']; // [data_hash] => b5c1d5ca8bae6d4896cf1807cdf763f0
    221                     $tmp1 = $tmp1['key'] . "_" . substr($tmp2,0,6);
    222                 }
    223                 if ($tmp1) {
    224                     $sess_id = $tmp1;
    225                 }
     212        $sess_id = get_post_meta($order_id, 'cs_sess_id', true); // Pegamos o sess_id do post_meta, já salvo qdo tinha session
     213        if (empty($sess_id)) {
     214            $sess_id = $order->get_meta('cs_sess_id');
     215        }
     216        if (!$sess_id) {
     217            $sess_id = (string)time(); //nunca deveria ser este
     218            if (isset($woo_sess)) {
     219                $tmp=$woo_sess->cart;
     220                if ($tmp) {
     221                    $tmp1 = array_pop($tmp);
     222                    if ($tmp1) {
     223                        $tmp1 = $tmp1['key'];
     224                    }
     225                }
     226                $t_tail = substr((string)time(), 0, 8);
     227                //if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     228                $sess_id = (string)$tmp1 . "_" . $t_tail;
    226229            }
    227         }
    228         //Em footer calculamos um cs_sess_id com a session+timestamp e salva na session
    229         $tmp3 = $woocommerce->session->get('cs_session_id');
    230         if ($tmp3) $sess_id = $tmp3;
    231         // salvamos em banco a session do woocomerce. no callback nao temos esta session
    232         //update_post_meta($order_id, 'cs_sess_id', sanitize_text_field($sess_id));
    233         // compatibilidade com HPOS
    234         $order->update_meta_data('cs_sess_id', sanitize_text_field($sess_id));
    235         $order->save();
     230            //Em footer calculamos um cs_sess_id com a session+timestamp e salva na session
     231            $tmp3 = $woocommerce->session->get('cs_session_id');
     232            if ($tmp3) $sess_id = $tmp3;
     233            // salvamos em banco a session do woocomerce. no callback nao temos esta session
     234            //update_post_meta($order_id, 'cs_sess_id', sanitize_text_field($sess_id));
     235            // compatibilidade com HPOS
     236            $order->update_meta_data('cs_sess_id', sanitize_text_field($sess_id));
     237            $order->save();
     238        }
    236239        $wl->write_log("Clearsale_Total_Checkout:Cs_total_checkout_order_processed: session=" . $sess_id);
    237240
     
    729732    /**
    730733    * Metodo que vai ser chamado quando clicado no botão finalizar. Vamos colocar um pequeno javascript,
    731     * na verdade um declaração de variável para testar na rotina de FingerPrint a existência.
     734    * na verdade um declaração de variável para testar, na rotina de FingerPrint, a existência.
    732735    *
    733736    */
  • clearsale-total/trunk/includes/class-clearsale-total-footer.php

    r2971562 r3135161  
    6464    {
    6565
    66         //$this->wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
     66        $this->wl = new Clearsale_Total_Log($this->plugin_name, $this->version);
    6767        //$this->wl->write_log("Clearsale_footer: construct");
    6868
     
    8686        global $woocommerce;
    8787
    88         //$postid = get_the_ID();
    89 
    9088        $tmp = "";
    9189        $tmp1 = (string)time();
     
    10199            }
    102100        }
    103         if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     101        $tmp2 = (string)time();
     102        //$this->wl->write_log("Clearsale_footer:cs_total_Add_Js: antes timestamp=" . $tmp2);
     103        if (substr($tmp2,-2) >90) {
     104            sleep(10);
     105            $tmp2 = (string)time();
     106            //$this->wl->write_log("Clearsale_footer:cs_total_Add_Js: timestamp=" . $tmp2);
     107        }
     108        $t_tail = substr($tmp2, 0, 8);
     109        //if ($tmp1) $this->session_id = (string)$tmp1 . "_" . (string)time();
     110        $this->session_id = (string)$tmp1 . "_" . $t_tail;
     111        //$tmp2 = $woocommerce->session->get('cs_session_id');
     112        $this->wl->write_log("Clearsale_footer:cs_total_Add_Js: session_id=" . $this->session_id);
    104113        $woocommerce->session->set('cs_session_id', $this->session_id);
    105 
     114       
    106115        // fingerprint
    107116        ?>
     
    122131    } // end of cs_total_Add_Js
    123132
     133    public function GetSession()
     134    {
     135        return $this->session_id;
     136    }
    124137
    125138} // end of class
  • clearsale-total/trunk/public/js/clearsale-total-public-txt.php

    r3050618 r3135161  
    11<?php
    2 
  • clearsale-total/trunk/public/js/clearsale-total-public.js

    r3076078 r3135161  
    248248                console.log("pagbank_credit_card");
    249249                metodo = 11;
     250            }
     251            if (checked_is == "click2pay-credit-card") {
     252                console.log("click2pay-credit-card");
     253                metodo = 12;
    250254            }
    251255        }
     
    321325                        cpf = $('#billing_cpf').val();
    322326                    }
    323 
    324327                }
    325328            }
    326329        } // end of if =11
     330        if (metodo == 12) {
     331            console.log("Ajax:ClearSale:place_order: é click2pay");
     332            if (card == null) {
     333                card = $('#click2pay-credit-card-card-number').val();
     334                if (card != null) {
     335                    card_holder = $('#click2pay-credit-card-card-holder').val();
     336                    validate = $('#click2pay-credit-card-card-expiry').val(); // mm/yy
     337                    card_installments = $('#click2pay-credit-card-card-installments').val();
     338                    if (card_installments == null) card_installments = 1;
     339                    if ($('#billing_cnpj').val()) {// CPF | CNPJ nao pede neste metodo
     340                        cpf = $('#billing_cnpj').val();
     341                    } else {
     342                        cpf = $('#billing_cpf').val();
     343                    }
     344                }
     345            }
     346        } // end of if =12
    327347
    328348        if (metodo == null) {
Note: See TracChangeset for help on using the changeset viewer.