Cadastro do script boleto em sandbox

Clique em Configurações e selecione Gestor de scripts:

Clique em + Adicionar script:

Preencha os campos de acordo com a tabela:


CampoValor
NomeInsira "Boleto"
Data inicial de exibição do ScriptDeixe o campo em branco.
Data final de exibição do ScriptDeixe o campo em branco.
Status do ScriptSelecione "Script ativo".
Prioridade do scriptInsira "0" (zero).
Posição do Script na páginaSelecione "Body - Primeira linha".
Páginas que o script será inseridoSelecione "Todas".
Identificador de PáginaInsira "*" (asterisco).

⚠️

A grafia dos valores deve ser igual a tabela.

Em Conteúdo do script, insira o seguinte script:

<script>
    
    const  boletoVariaveis = {
        MerchantId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        Integration:"Gateway",
        Content_Type : "application/json",
        SoftDescriptor : "SD",
        redirect:'follow',
        urlInvoiceRequest : "https://paymentconnectorwakesandbox.cieloecommerce.cielo.com.br/api/returnpaymentcodes/invoice"
      };
    
    
        if (document.querySelector('.pedido-pagamento span').textContent.toLowerCase().includes("boleto") == true) {
             OpenLoadingModal(); 
             GeraLinkRequestBoleto();
        } 
        
        function GeraLinkRequestBoleto(){
            const requestOptions = {
            method: 'POST',
            headers: {
            [boletoVariaveis.MerchantId]: boletoVariaveis.MerchantId,
            [boletoVariaveis.Integration]: boletoVariaveis.Integration,
            [boletoVariaveis.SoftDescriptor]: boletoVariaveis.SoftDescriptor,
            "Content-Type": boletoVariaveis.Content_Type
            },
            body: JSON.stringify({
              loja: Fbits.Carrinho.Loja.Nome,
              pedido: Fbits.Carrinho.PedidoId,
              total: Fbits.Carrinho.ValorTotal,
              email: Fbits.Carrinho.Usuario.Email,
            }),
            [boletoVariaveis.redirect]: boletoVariaveis.redirect,
          };
          fetch(boletoVariaveis.urlInvoiceRequest, requestOptions).then(response => response.text()).then(result => {CloseLoadingModal(); GeraLinkBoleto(result)}).catch(
              error => 
              GeraLinkRequestBoletoAfterRefresh()
          );
        }
        
        function GeraLinkRequestBoletoAfterRefresh(){
             OpenLoadingModal(); 
             CloseLoadingModal()
             
             var cookieBoletoJson = getCookie("cookieBoleto");
            
             GeraLinkBoleto(cookieBoletoJson);
        }
        
           function SetaCookieBoleto(respostaObjeto){
            var dataExpiracao = new Date();
            dataExpiracao.setTime(dataExpiracao.getTime() + (72 * 60 * 60 * 1000)); // 72 horas
            
            if (respostaObjeto !== null && respostaObjeto !== "") {
                document.cookie = "cookieBoleto=" + respostaObjeto + "; expires=" + dataExpiracao.toUTCString();
            }
    
        }
        
        function getCookie(nome) {
            var nomeCookie = nome + "=";
            var decodedCookie = decodeURIComponent(document.cookie);
            var cookies = decodedCookie.split(';');
            for(var i = 0; i < cookies.length; i++) {
                var cookie = cookies[i];
                while (cookie.charAt(0) == ' ') {
                    cookie = cookie.substring(1);
                }
                if (cookie.indexOf(nomeCookie) == 0) {
                    return cookie.substring(nomeCookie.length, cookie.length);
                }
            }
            return "";
        }
        
        function GeraLinkBoleto(dadosBoleto) { 
          SetaCookieBoleto(dadosBoleto);
          const respostaObjeto = JSON.parse(dadosBoleto);
          const paymentUrlParse = respostaObjeto.invoice.paymentUrl;
          const linkBoleto = document.createElement('a');
          linkBoleto.href = paymentUrlParse;
          linkBoleto.target = '_blank';
          linkBoleto.textContent = 'Abrir Boleto';
          linkBoleto.style.fontWeight = 'bold';
          linkBoleto.style.display = 'block';
          linkBoleto.style.fontFamily = 'Arial, sans-serif';
          linkBoleto.style.fontSize = '26px';
          linkBoleto.style.marginTop = '10px';
          const elements = document.querySelectorAll('.confirmacao-box.col-xs-12');
          if (elements.length >= 2) {
            const segundoElemento = elements[1];
            segundoElemento.appendChild(linkBoleto.cloneNode(true));
          } else {
            console.log('Não há pelo menos dois elementos com a classe "confirmacao-box col-xs-12".');
          }
        }
        
        
        function OpenLoadingModal() {
            var loadingOverlay = document.createElement('div');
            loadingOverlay.id = 'loadingOverlay';
            setStyle(loadingOverlay, {
                display: 'block',
                position: 'fixed',
                top: '0',
                left: '0',
                width: '100%',
                height: '100%',
                background: 'rgba(255, 255, 255, 0.7)',
                zIndex: '9999'
            });
    
            var loadingSpinner = document.createElement('div');
            loadingSpinner.className = 'spinner-border text-primary';
            loadingSpinner.style.position = 'absolute';
            loadingSpinner.style.top = '50%';
            loadingSpinner.style.left = '50%';
            loadingSpinner.style.transform = 'translate(-50%, -50%)';
    
            loadingOverlay.appendChild(loadingSpinner);
            document.body.appendChild(loadingOverlay);
        }
    
        function CloseLoadingModal() {
            document.getElementById('loadingOverlay').remove();
        }
        
        
          function setStyle(element, styles) {
            for (var property in styles) {
              if (styles.hasOwnProperty(property)) {
                element.style[property] = styles[property];
              }
            }
          }
          
        
     </script>

Insira o MerchantId na linha 4.

Clique em Atualizar > Salvar > Publicar

Siga para a ativação do meio de pagamento.