Advertisement
Twissel

PayParts

Sep 8th, 2018
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. document.addEventListener("DOMContentLoaded", ready);
  2. let global_title = '';
  3. let global_amount = '';
  4.  
  5. function ready() {
  6.     var script = document.createElement('script');
  7.     script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
  8.     document.getElementsByTagName('head')[0].appendChild(script);
  9.  
  10.     /*let mob_fix = document.getElementsByClassName('toggle-mobile-menu')[0];
  11.    
  12.     if(mob_fix){
  13.         console.log(mob_fix);
  14.         console.log(document.getElementsByClassName('main-nav')[0]);
  15.         document.getElementsByClassName('main-nav')[0].onclick = function () {
  16.            
  17.             document.getElementsByClassName('main-nav')[0].classList.toggle("active");
  18.         };
  19.     }*/
  20.  
  21.     let card_item = document.getElementsByClassName('button21')[0];
  22.     if(card_item){
  23.         card_item.style.marginBottom = '10px';
  24.     }
  25.     card_item = document.getElementsByName('add-to-cart')[0];
  26.     if(card_item){
  27.         card_item.style.marginRight = '15px';
  28.     }
  29.  
  30.     let pay_button_wrapper = document.getElementsByClassName('desc_part');
  31.     if(pay_button_wrapper.length > 0){
  32.         for(let i = 0; i < pay_button_wrapper.length; i++){
  33.           let pay_button = document.createElement('a');
  34.           pay_button.className = "more paypart";
  35.           pay_button.innerText = 'Оплата частями';
  36.           pay_button.href = '#openModal';
  37.          
  38.           let price = pay_button_wrapper[i].getElementsByClassName('price')[1];
  39.           let num = '';
  40.           console.log(price.childNodes.length);
  41.           if(price.childNodes.length == 2){
  42.             num = price.lastChild.innerText;
  43.           }
  44.           else{
  45.             num = price.lastChild.getElementsByClassName('woocommerce-Price-amount')[0].innerText;
  46.           }
  47.           pay_button.setAttribute('price', num.replace(/\D+/g, '').substring(0, num.replace(/\D+/g, '').length - 2));
  48.           pay_button.setAttribute('title', pay_button_wrapper[i].getElementsByClassName('title-detail')[0].innerText);
  49.          
  50.           pay_button_wrapper[i].appendChild(pay_button);
  51.            
  52.         }
  53.      
  54.       addModal();
  55.  
  56.       let start_pay = document.getElementsByClassName('start_paypart')[0];
  57.       start_pay.addEventListener('click', function(event){
  58.           sendToPayPart(global_amount, global_title, document.getElementsByClassName('paypart_count')[0].options.selectedIndex + 2);
  59.       });
  60.     }
  61.    
  62.     let pay_button = document.createElement('a');
  63.     pay_button.className = "button21 paypart";
  64.     pay_button.innerText = 'Оплата частями';
  65.     pay_button.href = '#openModal';
  66.          
  67.     let price = document.getElementsByClassName('price')[0];
  68.     if(price){
  69.       let num = '';
  70.       console.log(price.childNodes.length);
  71.       if(price.childNodes.length == 2){
  72.           num = price.lastChild.innerText;
  73.       }
  74.       else{
  75.         try{
  76.             num = price.lastChild.getElementsByClassName('woocommerce-Price-amount')[0].innerText;
  77.             console.log(num.replace(/\D+/g, '').substring(0, num.replace(/\D+/g, '').length - 2));
  78.         }catch(ex){
  79.         }
  80.          
  81.       }
  82.       pay_button.setAttribute('price', num.replace(/\D+/g, '').substring(0, num.replace(/\D+/g, '').length - 2));
  83.       pay_button.setAttribute('title', document.getElementsByClassName('title-detail')[0].innerText);
  84.       //pay_button.style = 'margin-top:10px';
  85.  
  86.       try{
  87.         document.getElementsByClassName('cart')[0].appendChild(pay_button);
  88.       }catch(ex){
  89.      
  90.       }
  91.      
  92.     }
  93.  
  94.     addModal();
  95.  
  96.     let start_pay = document.getElementsByClassName('start_paypart')[0];
  97.     start_pay.addEventListener('click', function(event){
  98.         sendToPayPart(global_amount, global_title, document.getElementsByClassName('paypart_count')[0].options.selectedIndex + 2);
  99.     });
  100.  
  101.     card_item = document.getElementsByClassName('button21')[0];
  102.     if(card_item){
  103.         card_item.style.float = 'unset';
  104.     }
  105.    
  106.  
  107.    
  108.  
  109. }
  110.  
  111. function sendToPayPart(amount, productName, payPartCount){
  112.     let formData = new FormData();
  113.     formData.append('amount', amount);
  114.     formData.append('productName', productName);
  115.     formData.append('partsCount', payPartCount);
  116.  
  117.     $.ajax({
  118.         url: "https://oma-fitness.com.ua/paypart.php",
  119.         type: "POST",
  120.         cache: false,
  121.         contentType: false,
  122.         processData: false,        
  123.         data: formData,
  124.         success: function(data){
  125.             if(data){
  126.                 console.log(data.substring(data.length - 157));
  127.                 let string = JSON.parse(data.substring(data.length - 157));
  128.                 console.log(string.token);
  129.                 document.location.href = 'https://payparts2.privatbank.ua/ipp/v2/payment?token=' + string.token;
  130.             }else{
  131.                
  132.             }
  133.         },
  134.         error: function(data){
  135.             console.log(data);
  136.         }
  137.     });
  138. }
  139.  
  140. function addModal(){
  141.  
  142.         let modal = document.createElement('div');
  143.         modal.innerHTML = '<div id="openModal" class="modal_m"> <div class="modal-dialog_m"> <div class="modal-content_m"> <div class="modal-header_m"> <h3 class="modal-title_m">Оплата частями от ПриватБанка</h3> <a href="#close" title="Close" class="close">×</a> </div> <div class="modal-body"> <div class="modal-content-title"> Колличество платежей <select class="paypart_count"> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> </select> </div> <div class="submit_btn"> <button class="start_paypart">Оплатить</button> </div> </div> </div> </div> </div> </div>';
  144.    
  145.         document.body.appendChild(modal);
  146.  
  147.         let scrollbar = document.body.clientWidth - window.innerWidth + 'px';
  148.         console.log(scrollbar);
  149.  
  150.         let paypart_buttons = document.getElementsByClassName('paypart');
  151.         for(let i = 0; i < paypart_buttons.length; i++){
  152.             paypart_buttons[i].addEventListener('click', function (event) {
  153.               global_title = event.target.title;
  154.               global_amount = event.target.getAttribute('price');
  155.               console.log(global_title);
  156.               console.log(global_amount);
  157.  
  158.               document.body.style.overflow = 'hidden';
  159.               document.querySelector('#openModal').style.marginLeft = scrollbar;
  160.             });
  161.         }
  162.  
  163.         document.querySelector('[href="#close"]').addEventListener('click', function () {
  164.             document.body.style.overflow = 'visible';
  165.             document.querySelector('#openModal').style.marginLeft = '0px';
  166.         });
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement