Magento Forum

   
Preciso de ajuda em um módulo. 
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 

Pessoal, estou com um módulo para cartão Visa para ser utilizado com a Locaweb.
Estou com um problema, depois de finalizar a compra, ele vai para o Redirect e então abre um pop up, mas ele é bloqueado pelo anti pop up.
Agora a Visa não quer homologar por causa disso.

O arquivo é esse:

<?php

class Campoy_Visanet_Block_Standard_Redirect extends Mage_Core_Block_Abstract
{
    
protected function _construct()
    
{
        $this
->setTemplate('visanet/standard/redirect.phtml');
        
parent::_construct();
    
}

    
protected function _toHtml()
    
{
        $html  
'<html>';
        
$html .= '<head>';
        
$html .= '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />';
        
$html .= $this->getScriptCode();
        
$html .= '</head>';
        
$html .= '<body>';
        
$html .= '<p align="center">' $this->__('Voc&ecirc; ser&aacute; redirecionado para a Visanet em alguns instantes. Se isso n&atilde;o acontecer, clique no bot&atilde;o abaixo.') . '</p>';
        
$html .= '<p align="center">' $this->getFormCode() . '</p>';
        
$html .= '<script type="text/javascript">document.getElementById("visanet_standard_checkout").submit();</script>';

        
$html .= '</body></html>';

        return 
$html;
    
}

    
private function getFormCode() {
        $standard 
Mage::getModel('visanet/standard');
        
$formFields $standard->getStandardCheckoutFormFields();
        
        
$total $formFields['damount'];            
        
$total number_format($total2'.''');

        if (!
Mage::getModel('wlpayment/wlpayment')->saveReg($formFields['orderid']$formFields['tid']$formFields['parcelas']$total$formFields['bandeira'])) {
            
echo 'Falha ao gravar transa&ccedil;$atilde;o.';
        
}
        
        $form 
'<form id = "visanet_standard_checkout" name="visanet_standard_checkout" action="' $standard->getVisanetUrl() . '" method="post" target="mpg_popup" onSubmit="[removed]fabrewin()">';

        foreach (
$formFields as $field=>$value{
                $form 
.= '<input type="hidden" name="' $field '" value="' $value '" />';
        
}

        $form 
.= '<p align="center">';
        
$form .= '<input type="image" src="' $standard->getSkinUrl('images/visa.jpg') . '" /> . <br />';
        
$form .= '<input type="submit" value="Clique aqui para entrar na p&aacute;gina da Visa" />';
        
$form .= '</p>';
        
$form .= '</form>';

        return(
$form);
    
}

    
private function getScriptCode() {
        $script 
'<script language="JavaScript" type="text/javascript">';
        
$script .= 'var retorno;';
        
$script .= 'var mpg_popup;';
    
        
$script .= 'window.name="loja";';
        
$script .= 'function fabrewin() {';
        
$script .= '    if(navigator.appName.indexOf("Netscape") != -1) {';
        
$script .= '        mpg_popup = window.open("", "mpg_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,screenX=0,screenY=0,left=0,top=0,width=765,height=440");';
        
$script .= '    }';
        
$script .= '    else {';
        
$script .= '        mpg_popup = window.open("", "mpg_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0,width=765,height=440");';
        
$script .= '    }';
        
$script .= '    return true;';
        
$script .= '}';
        
$script .= '</script>';

        return(
$script);
    
}
}

O email que recebi da Visa foi esse:

Ao efetuarmos os testes em sua loja virtual, identificamos que o ambiente da Cielo foi bloqueado, pois não foi implantada a função “anti-bloqueador de pop-up” disponibilizada junto com a solução “Verified by Visa”, conforme script abaixo, isso é obrigatório para o processo de homologação.

<script language="JavaScript">
var 
retorno;
var 
mpg_popup;
window.name="loja";
function 
fabrewin(){
if(navigator.appName.indexOf("Netscape") != -1{
mpg_popup
=window.open("","mpg_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,screenX=0,screenY=0,left=0,top=0,width=800,height=600");
          
}
         
else {
mpg_popup
=window.open("","mpg_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0,width=800,height=600");
          
}
         [removed]
="redirecionaCBP.asp";
         return 
true;
}
</script>

Chamar a função JS na submissão do form (exemplo HTML)

<input type=”button” value=”pagar com Visa” onclick=”[removed] fabrewin()” />

O arquivo “redirecionaCBP.asp” é esse:

<html>
<
head>
    <
title>Loja de exemplo VbV 1.0</title>
    <
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <
link rel=stylesheet href="estilos.css" type="text/css">
</
head>

<
body bgcolor="#ffffff" text="#000000" onload="document.forms[0].submit();">
    <
form name="frmRedireciona" method="post" action="https://cbp.3dsolution.com.br/cbp/retornoEC.asp">
        <
input type="hidden" name="url" value="https://cbp.3dsolution.com.br/cbp/aguardeEC.html">
    </
form>
</
body>
</
html>

Se alguém souber como resolver isso, ficaria agradecido.

Estou postando os arquivos porque o fórum remove algumas coisas do código.

File Attachments
Visa.zip  (File Size: 3KB - Downloads: 115)
 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 

Ninguem pode ajudar?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Carlos Teixeira
Sr. Member
 
Total Posts:  95
Joined:  2009-01-26
Brasil
 

Nunca tive problemas como “anti-popup”, para homologar o visa estralho isso ser obrigatório agora.

A única coisa que observei no código foi isso, tente trocar onSubmit="[removed]fabrewin()" para onSubmit="return fabrewin();”

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Carlos Teixeira - 12 December 2009 09:38 AM

Nunca tive problemas como “anti-popup”, para homologar o visa estralho isso ser obrigatório agora.

A única coisa que observei no código foi isso, tente trocar onSubmit="[removed]fabrewin()" para onSubmit="return fabrewin();”

Carlos, nao sei se vc viu os arquivos, mas eh que no code daqui do forum ele remove a palavra javascript.
O removed ai é na verdade [removed]fabewwin

onSubmit="[removed]fabrewin() (assim que ta no arquivo)

Edit:
Nao funcionou nao.
Aqui a Visa nao quer liberar.
E o pior é que a pessoa que paguei pra fazer, fica enrolando e nao me ajuda nisso.
E pelo visto não sou o primeiro a ter problema com programador assim.
Você paga, quer funcionando da forma que a Visa quer.
Se vc nao faz como a Visa quer, nao faz ue.
Por mim ia com popup, mas a visa quer sem popup.
Entao tem que dar um jeito.
Problematico isso.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Carlos Teixeira
Sr. Member
 
Total Posts:  95
Joined:  2009-01-26
Brasil
 

im, vi os arquivos, onde citei para alterar é no onSubmit do formulário da classe “Campoy_Visanet_Block_Standard_Redirect” onde tem aquele “javascript “ para “return fabrewin()”

Só não entendi uma coisa, à visa pediu para vc colocar a função anti-popup, ae vc colocou e eles mesmo assim não homologaram ou ainda esta com algum erro ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Carlos Teixeira - 12 December 2009 11:47 AM

im, vi os arquivos, onde citei para alterar é no onSubmit do formulário da classe “Campoy_Visanet_Block_Standard_Redirect” onde tem aquele “javascript “ para “return fabrewin()”

Só não entendi uma coisa, à visa pediu para vc colocar a função anti-popup, ae vc colocou e eles mesmo assim não homologaram ou ainda esta com algum erro ?

Entao, alterei para oq vc disse e ainda nao passa pelo popup.
Na verdade não foi eu quem fiz.
Estamos usando o gateway de pagamentos da locaweb.
A pessoa que fez, nao utiliza esse arquivo que a Visa enviou.
Eles disseram para colocar, mas eu ja pedi a pessoa que pagamos (e caro) pra alterar e ja tem quase 8 dias e nada.
Ainda continua dando o popup.
Ta super dificil assim.
Vcs tem alguma outra forma?

Obrigado.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Awa_Solucoes
Sr. Member
 
Avatar
Total Posts:  215
Joined:  2009-04-18
Londrina, PR - Brazil
 

CajuCLC, se sabe qual o tipo do seu servidor, que dizer se ele é linux ou windows com apache??!! pois, até onde sei, para homologar direto com servidor da Visa/Master, precisa ter servidor windows.Mesmo pq esse arquivo asp não vai rodar nem a pau no apache!! Então seu desenvolvedor vai ter que “transferir” o que está no arquivo do asp para o php. Pelo menos até onde eu sei, é isto que vai ter que ocorrer.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Alex Willian - 13 December 2009 11:43 AM

CajuCLC, se sabe qual o tipo do seu servidor, que dizer se ele é linux ou windows com apache??!! pois, até onde sei, para homologar direto com servidor da Visa/Master, precisa ter servidor windows.Mesmo pq esse arquivo asp não vai rodar nem a pau no apache!! Então seu desenvolvedor vai ter que “transferir” o que está no arquivo do asp para o php. Pelo menos até onde eu sei, é isto que vai ter que ocorrer.

Meu servidor é Linux.
Eu sei que precisa ter windows, mas eh por isso que tem o gateway de pagamento da locaweb, que ja roda em windows.
O que falta é a pagina passar direto.
Por isso criei aqui este topico.
Ja tentei colocar o arquivo em php e mesmo assim nao vai.
Vc sabe como “burlar” o bloqueador de popup?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Awa_Solucoes
Sr. Member
 
Avatar
Total Posts:  215
Joined:  2009-04-18
Londrina, PR - Brazil
 

CajuCLC, faz assim, já que bloqueador pop up está bloqueando a janela que abre, pede para seu desenvolvedor optar por uma opção pouco conhecida entre os desenvolvedores, que é o shadowbox, é bem parecido com o Lightbox, a unica diferença que o shadowbox permite abrir popups, outras paginas de internet e etc, usando o efeito igual do light box, é bem interessante, vc pode ver varios exemplos neste site… http://www.shadowbox-js.com/
Ve se seu desenvolvedor é capaz de utilizar esta solução, não sei se a Visa vai autorizar, ve com eles tambem, pq eu soube que esse sistema de bloquear o bloqueador popup da Visa, está meio furado, tem mita gente reclamando!! Vê se esse javascript a Visa autoriza, se não, vamos partir criar uma solução contra os padrões internacionas, já que burlar o bloqueador é uma medida fora do padroes do WWC, mais faze o que, se temos que fazer isso, vamos fazer, tem coisas que acontecem só no Brasil. Lá fora o servidor pode ser linux, é foda. Mais tenta ai, qualquer coisa posta ai.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Alex Willian - 13 December 2009 02:10 PM

CajuCLC, faz assim, já que bloqueador pop up está bloqueando a janela que abre, pede para seu desenvolvedor optar por uma opção pouco conhecida entre os desenvolvedores, que é o shadowbox, é bem parecido com o Lightbox, a unica diferença que o shadowbox permite abrir popups, outras paginas de internet e etc, usando o efeito igual do light box, é bem interessante, vc pode ver varios exemplos neste site… http://www.shadowbox-js.com/
Ve se seu desenvolvedor é capaz de utilizar esta solução, não sei se a Visa vai autorizar, ve com eles tambem, pq eu soube que esse sistema de bloquear o bloqueador popup da Visa, está meio furado, tem mita gente reclamando!! Vê se esse javascript a Visa autoriza, se não, vamos partir criar uma solução contra os padrões internacionas, já que burlar o bloqueador é uma medida fora do padroes do WWC, mais faze o que, se temos que fazer isso, vamos fazer, tem coisas que acontecem só no Brasil. Lá fora o servidor pode ser linux, é foda. Mais tenta ai, qualquer coisa posta ai.

NOSSA! Que ferramenta ABSURDA de boa.
hehehehe
Eu ja mandei o email para a pessoa que fez o módulo, mas ele nao responde, fica dificil assim.
Pois como ja disse, tentei colocar o arquivo em asp (so mudei o final pra .php hehehe), mas mesmo assim nao passa pelo bloqueador.
Ainda procurando medidas alternativas para esse problema.

O mais engraçado que no módulo do amex, tenho a opção de abrir na mesma pagina, mas nao nessa do visa.
Eu na verdade queria isso, abrir na mesma pagina.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Awa_Solucoes
Sr. Member
 
Avatar
Total Posts:  215
Joined:  2009-04-18
Londrina, PR - Brazil
 

CajuCLC, passei os meus contatos do Gtalk e Skype para vc por PM. Se precisar de mais ajuda me chama amanha durante o dia, ai tento te ajudar no que poder. Sobre o shadowbox, eu ja tive um trabalho que integrei ele no magento, no qual o meu cliente queria que quando ele colocasse um link do you tube lá no admin, abrisse o video na mesma pagina do produto no frontend. ficou legal...mais infelizmente tomei um calote deles, por enquanto...hehe fazer oque ...bola pra frente, daqui a pouco meto eles na justiça, mais por etica não vou comentar nomes...mas faz assim...fala com a Visa, fala que está dando problema, e que vc achou uma alternatica ao bloqueador do popup, se eles derem o ok, blz, se não, vamos partir para fazer algo ai para burlar o bloqueador. Agora vo indo nessa, t+

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Alex Willian - 13 December 2009 06:02 PM

CajuCLC, passei os meus contatos do Gtalk e Skype para vc por PM. Se precisar de mais ajuda me chama amanha durante o dia, ai tento te ajudar no que poder. Sobre o shadowbox, eu ja tive um trabalho que integrei ele no magento, no qual o meu cliente queria que quando ele colocasse um link do you tube lá no admin, abrisse o video na mesma pagina do produto no frontend. ficou legal...mais infelizmente tomei um calote deles, por enquanto...hehe fazer oque ...bola pra frente, daqui a pouco meto eles na justiça, mais por etica não vou comentar nomes...mas faz assim...fala com a Visa, fala que está dando problema, e que vc achou uma alternatica ao bloqueador do popup, se eles derem o ok, blz, se não, vamos partir para fazer algo ai para burlar o bloqueador. Agora vo indo nessa, t+

Horrivel mesmo nao pagarem.
Tinha um professor meu que dizia, etica é falar mal, sem dizer nomes. hehehehe
Vou esperar uma resposta amanha deles pra ver se tem como usar isso.
Se bem que acho que o Visa nao vai liberar, mas quem sabe ne?

Ja te respondi a MP.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Carlos Teixeira - 12 December 2009 11:47 AM

im, vi os arquivos, onde citei para alterar é no onSubmit do formulário da classe “Campoy_Visanet_Block_Standard_Redirect” onde tem aquele “javascript “ para “return fabrewin()”

Só não entendi uma coisa, à visa pediu para vc colocar a função anti-popup, ae vc colocou e eles mesmo assim não homologaram ou ainda esta com algum erro ?

Opa, eu alterei tb e nada cara.
Parece ser um problema da Visa isso, como segue aqui no forum da locaweb:
http://forum.locaweb.com.br/showthread.php?p=26630

A pessoa que fez o módulo disse que entrou em contato com a Visa e que a mesma teria passado uma solução em PHP.
Mas mesmo assim não funcionou.
Mandei um email para a Visa tb pra ver isso ai, ta complicado.

Alguem tem mais alguma forma?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Carlos Teixeira
Sr. Member
 
Total Posts:  95
Joined:  2009-01-26
Brasil
 

E ae @CajuCLC como ficou isso ?

Recentemente precisei homologar o visa para um cliente agora com a “Cielo” que estão bem mais exigentes na homologação, tive um problema semelhante ao seu, resolvi da seguinte forma nos dados q são passados para locaweb existe um parâmetro chamado “visa_antipopup” que quando habilitado nao abre um um popup no load da pagina é necessário clicar no logo da visa, sendo assim não é bloqueado.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Eric Cavalcanti
Guru
 
Avatar
Total Posts:  707
Joined:  2008-09-28
San Antonio
 
Carlos Teixeira - 12 March 2010 09:25 AM

E ae @CajuCLC como ficou isso ?

Recentemente precisei homologar o visa para um cliente agora com a “Cielo” que estão bem mais exigentes na homologação, tive um problema semelhante ao seu, resolvi da seguinte forma nos dados q são passados para locaweb existe um parâmetro chamado “visa_antipopup” que quando habilitado nao abre um um popup no load da pagina é necessário clicar no logo da visa, sendo assim não é bloqueado.

Então, eles disseram que eu estava errando em algo.
Pedi um site testes dele e fiz o teste usando o Chrome, que bloqueia tudo, e acabou bloqueando o deles.
Isso eles não responderam, so dizendo que funcionava sim.

O que fiz foi tirar esse automatico e deixei uma opção para o cliente clicar no logo e entao ser direcionado para visa.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top