1$(function(){ 2 const isRepayment = $('body').hasClass('CatalogoPedidos-repagar'); 3 const paypalUrlCreate = $('#paypalUrlCreate').val(); 4 const paypalPaymentId = $('#paypalPaymentID'); 5 const paypalPayertID = $('#paypalPayertID'); 6 const paypalContainer = $('#paypal-button-container'); 7 const paypalCardContainer = $('#paypal-card-container'); 8 const paypalBox = (isRepayment ? $('#data-payment-cartao-de-credito') : $('#data-PayPal')); 9 const paypalBoxDesc = $('#data-PayPal-info'); 10 const paymentBox = $('#final-payment-data'); 11 const form = $('#PedidoAddForm'); 12 const btnSubmit = $('.btn-final-submit'); 13 const loadingPage = $('.loading-page'); 14 const paypalReference = $('#paypalReference').val(); 15 const bnCodeWallet = 'ECPPCP'; 16 const bnCodeCard = 'BCDC'; 17 18 let msgSuccess = ''; 19 let dataInfo = ''; 20 let fundingCreated = false; 21 let cardCreated = false; 22 23 if(isRepayment) { 24 let name = $('#final-readable-nome').text().split(" "); 25 let firstName = name.shift(); 26 let lastName = name.join(" "); 27 28 dataInfo = { 29 partnerId: bnCodeCard, 30 email: $('#final-readable-email').text(), 31 cobrancaNome: firstName, 32 cobrancaSobrenome: lastName, 33 cobrancaTelefone: $('#final-readable-telefone').text(), 34 cobrancaTipo: $('#final-readable-tipo').text(), 35 cobrancaCpfcnpj: (($('#final-readable-tipo').text() == 'PJ') ? $('#final-readable-cnpj').text() : $('#final-readable-cpf').text()), 36 cobrancaEntrega: $('#PedidoCobrancaEnderecoEntrega').prop('checked'), 37 entregaNome: $('#final-readable-nome').text(), 38 entregaTelefone: $('#final-readable-telefone').text(), 39 entregaCep: $('#final-readable-cep').text(), 40 entregaEndereco: $('#final-readable-endereco').text(), 41 entregaNumero: $('#final-readable-numero').text(), 42 enttregaComplemento: $('#final-readable-info').text(), 43 entregaBairro: $('#final-readable-bairro').text(), 44 entregaCidade: $('#final-readable-cidade').text(), 45 entregaEstado: $('#final-readable-estado').text() 46 }; 47 } 48 49 const validatePaymentValues = (finalValueScreen, finalValueReal) => { 50 let valid = true; 51 52 if(typeof finalValueScreen != "undefined") { 53 if(typeof finalValueReal['Amount'] !== "undefined" && finalValueReal['Amount']['total_pedido'] !== null) { 54 55 const finalValueScreenFormatted = finalValueScreen.replace("R$ ", "").replace(".", "").replace(",", "."); 56 const finalValueRealFormatted = finalValueReal['Amount']['total_pedido']; 57 58 if(finalValueScreenFormatted != finalValueRealFormatted){ 59 valid = false; 60 } 61 } 62 } 63 64 return valid; 65 } 66 67 const errorPaypal = () => { 68 if(typeof msgSuccess !== 'undefined') { 69 $.message.hide(msgSuccess); 70 } 71 72 const msgError = $.message.show('error', { 73 vars:{ 74 'title': 'Não foi possÃvel concluir seu pedido', 75 'content': 'Teve novamente em alguns instantes' 76 } 77 }); 78 79 if($('.box-cart-final-step').find('.list-shipping-item.active').length > 0){ 80 $('.box-cart-final-step').find('.list-shipping-item.active').trigger('click'); 81 } 82 83 setTimeout(function() { 84 $.message.hide(msgError); 85 }, 6000); 86 } 87 88 const startPaypal = (fundingSource, container) => { 89 90 paypal.Buttons({ 91 fundingSource: fundingSource, 92 expandCardForm: true, 93 onClick() { 94 if($('#final-termo-aceite').length > 0){ 95 if($('#final-termo-aceite').prop('checked') == false){ 96 const msgTermAccepted = $.message.show('error', { 97 vars:{ 98 'title': 'Atenção!', 99 'content': 'Você precisar aceitar os termos para continuar a compra.' 100 }, 101 }); 102 103 setTimeout(() => { 104 $.message.hide(msgTermAccepted); 105 }, 2000); 106 107 return false;
108 } 109 } 110 111 loadingPage.show(); 112 }, 113 async createOrder() { 114 const response = await fetch(paypalUrlCreate, { 115 method: "POST", 116 headers: { 117 "Content-Type": "application/json", 118 }, 119 body: JSON.stringify({ 120 reference: paypalReference, 121 partnerId: dataInfo.partnerId, 122 email: dataInfo.email, 123 cobrancaNome: dataInfo.cobrancaNome, 124 cobrancaSobrenome: dataInfo.cobrancaSobrenome, 125 cobrancaTelefone: dataInfo.cobrancaTelefone, 126 cobrancaTipo: dataInfo.cobrancaTipo, 127 cobrancaCpfcnpj: dataInfo.cobrancaCpfcnpj, 128 cobrancaEntrega: dataInfo.cobrancaEntrega, 129 entregaNome: dataInfo.entregaNome, 130 entregaTelefone: dataInfo.entregaTelefone, 131 entregaCep: dataInfo.entregaCep, 132 entregaEndereco: dataInfo.entregaEndereco, 133 entregaNumero: dataInfo.entregaNumero, 134 enttregaComplemento: dataInfo.enttregaComplemento, 135 entregaBairro: dataInfo.entregaBairro, 136 entregaCidade: dataInfo.entregaCidade, 137 entregaEstado: dataInfo.entregaEstado 138 }) 139 }); 140 141 loadingPage.hide(); 142 143 const order = await response.json(); 144 145 return order.id; 146 }, 147 async onApprove(data) { 148 paypalPaymentId.val(data.orderID); 149 paypalPayertID.val(dataInfo.partnerId); 150 151 msgSuccess = $.message.show('masked-success', { 152 hideOnClick:false, 153 vars:{ 154 'title': 'Concluindo seu pedido. Aguarde ...', 155 'content': '<div class="loading"></div>', 156 } 157 }); 158 159 $('html, body').animate({ 160 scrollTop: paymentBox.offset().top 161 }, 500); 162 163 if(!isRepayment) { 164 CartModel.validate(form.toObject(), null, function(valid){ 165 if(valid['Status'] == 'success' || CartFinal.readMode) { 166 let paymentValuesAreValid = validatePaymentValues(CartFinal.__getCartFinalTotalValue(), valid); 167 168 if(!paymentValuesAreValid) { 169 if(typeof msgSuccess !== 'undefined') { 170 $.message.hide(msgSuccess); 171 } 172 173 const msgErrorPaymentValues = $.message.show('error', { 174 vars:{ 175 'title': 'Algo deu errado ao finalizar a compra.', 176 'content': 'Não foi possÃvel concluir seu pedido, tente novamente' 177 } 178 }); 179 180 if($('.box-cart-final-step').find('.list-shipping-item.active').length > 0){ 181 $('.box-cart-final-step').find('.list-shipping-item.active').trigger('click'); 182 } 183 184 setTimeout(function() { 185 $.message.hide(msgErrorPaymentValues); 186 }, 4000); 187 } else { 188 form.submit(); 189 } 190 } else { 191 $.message.hide(msgSuccess); 192 errorPaypal(); 193 } 194 }); 195 } else { 196 form.submit(); 197 } 198 }, 199 onError(error) { 200 errorPaypal(); 201 } 202 }).render(container); 203 } 204 205 $(document).on('click', '.list-payment-item', function() { 206 let paypalFundingSource = null; 207 let containerPaypal = ''; 208 209 const isFundingCard = $(this).find('div.icon-payment-cartao-de-credito').length; 210 const isFundingPaypal = $(this).find('div.icon-payment-paypal').length; 211 212 const hideElements = () => { 213 paypalBoxDesc.hide(); 214 paypalCardContainer.hide(); 215 paypalContainer.hide(); 216 btnSubmit.hide(); 217 } 218 219 if(isRepayment && (isFundingCard || isFundingPaypal)) { 220 $('#data-payment-cartao-de-credito').show(); 221 $('#data-payment-paypal').hide(); 222 } 223 224 if(!isRepayment) { 225 dataInfo = { 226 partnerId: bnCodeCard, 227 email: $('#final-email').val(), 228 cobrancaNome: $('#final-nome').val(), 229 cobrancaSobrenome: $('#final-sobrenome').val(), 230 cobrancaTelefone: $('#final-telefone').val(), 231 cobrancaTipo: $('#final-tipo').val(), 232 cobrancaCpfcnpj: (($('#final-tipo').val() == 'PJ') ? $('#final-cnpj').val() : $('#final-cpf').val()), 233 cobrancaEntrega: $('#PedidoCobrancaEnderecoEntrega').prop('checked'), 234 entregaNome: $('#final-entrega-nome').val(), 235 entregaTelefone: $('#final-entrega-telefone').val(), 236 entregaCep: $('#PedidoCep').val(), 237 entregaEndereco: $('#PedidoEndereco').val(), 238 entregaNumero: $('#PedidoNumero').val(), 239 enttregaComplemento: $('#final-address-add-info').val(), 240 entregaBairro: $('#PedidoBairro').val(), 241 entregaCidade: $('#PedidoCidade').val(), 242 entregaEstado: $('#PedidoEstado').val() 243 }; 244 } 245 246 if(isFundingCard) { 247 hideElements(); 248 paypalCardContainer.show(); 249 if (cardCreated) { 250 return; 251 } 252 paypalFundingSource = paypal.FUNDING.CARD; 253 dataInfo.partnerId = bnCodeCard; 254 paypalBox.find('.payment-title').text('Cartão de Crédito'); 255 containerPaypal = '#paypal-card-container'; 256 cardCreated = true; 257 } else if(isFundingPaypal) { 258 hideElements(); 259 paypalContainer.show(); 260 if (fundingCreated) { 261 return; 262 } 263 paypalFundingSource = paypal.FUNDING.PAYPAL; 264 dataInfo.partnerId = bnCodeWallet; 265 paypalBox.find('.payment-title').text('PayPal'); 266 containerPaypal = '#paypal-button-container'; 267 fundingCreated = true; 268 } else { 269 btnSubmit.show(); 270 } 271 272 startPaypal(paypalFundingSource, containerPaypal); 273 }); 274});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.