Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

[PagSeguro] Não é enviado e-mail de confirmação de compra
 
joaisbn
Jr. Member
 
Total Posts:  2
Joined:  2009-12-15
 

OIá pessoal, estou tendo um problema com o módulo do PagSeguro, ele não envia a mensagem de confirmação da compra para o dono da loja e nem para o cliente.

Não é problema de configuração de e-mail, já que a mensagem de confirmação é enviada ao utilizar o módulo de “Pedido em Cheque / Dinheiro”.

Tentei as dicas desse site e não funcionou: http://gabriel.indexainternet.com.br/magento-envio-de-e-mails-transacionais-nao-funciona/

Tentei fazer o envio como informado nesse outro site http://inchoo.net/ecommerce/magento/custom-checkout-cart-how-to-send-email-after-successful-checkout/ mas tb não funcionou.

Essa segunda alteração eu fiz em “app/code/community/PagSeguro/controllers/StandardController.php” alterando onde tem esse código abaixo para o que tem no site que eu informei, mas não deu certo.

/**
             * set the quote as inactive after back from pagseguro
             */
            Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();

            
/**
             * send confirmation email to customer
             */
            
$order Mage::getModel('sales/order');
            
$order->load(Mage::getSingleton('checkout/session')->getLastOrderId());
            if(
$order->getId()){
                $order
->sendNewOrderEmail();
            
}

Acredito que essa função successAction() que existe em StandardController.php sejam a responsável por fazer o envio de confirmação, porém não está funcionando, alguém pode me ajudar.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Adriano Aguiar
Moderator
 
Avatar
Total Posts:  343
Joined:  2008-08-26
Sao Paulo
 

Olá @joaisbn prevendo que em outros recursos da suas aplicação magento o envio de e-mail esteja funcionando, como o checkout/success/, qual versão está utilizando? Quanto a funcionáridade estar no successAction, é um método padrão do model sales/order:

http://docs.magentocommerce.com/Mage_Sales/Mage_Sales_Model_Order.html#sendNewOrderEmail

Aguardo maiores detalhes.

 
Magento Community Magento Community
Magento Community
Magento Community
 
joaisbn
Jr. Member
 
Total Posts:  2
Joined:  2009-12-15
 

Bom, a versão é 1.3.2.3 .

 
Magento Community Magento Community
Magento Community
Magento Community
 
DouglasGimli
Jr. Member
 
Total Posts:  2
Joined:  2009-04-20
 

Eu havia entrado em contato com o Joais por e-mail para ver se ele havia obtido uma solução neste problema, mas ainda não, então passei algumas horas fuçando a internet e o código do módulo para tentar achar uma solução, e enfim, acho que consegui, para os mesmo que estiverem tendo esse problema, ele ocorre quase em devido a uma falha na configuração. No site da visie, eles avisam que a página de retorno configurada no painel do pagseguro tem que ser igual a:
http://www.lojamodelo.com.br/PagSeguro/standard/obrigado/

Eu não usava esta pois queria que após a compra o usuário final visse a tela de compra efetuada com sucesso e com todas as informações do pedido(/checkout/sucess/), e alterando isso não teria como, a solução provisória que eu encontrei foi configurar no painel do pagseguro essa url de retorno como manda a visie e nas configurações do módulo no próprio magento eu seto a página de retorno para um CMS qualquer, e como conteudo deste CMS eu boto um javascript que redireciona para a página /checkout/sucess/

Espero que isso ajuda alguém.
Abraços, Douglas.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Michel_
Jr. Member
 
Total Posts:  2
Joined:  2010-01-12
 

Fiz a configuração seguindo as recomendações do PagSeguro mas infelizmente o retorno automático não funciona corretamente, inclusive monitorando os comandos enviado pro MySQL não é retornado nada.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mauro Ferraz
Jr. Member
 
Total Posts:  4
Joined:  2009-11-16
 

Douglas, boa noite.

Gostaria de implementar a solução do JavaScript redirecionando para /checkout/sucess/ na pagina do css. Você pode postar o código que você coloca na página?

Obrigado,
Mauro.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Roberto Acioli
Jr. Member
 
Avatar
Total Posts:  22
Joined:  2010-02-01
Olinda, PE
 

Douglas,

Quando você redireciona para /onepage/success via javascript, o carrinho do Magento esvazia?

[]s
Roberto Acioli
www.smartpeoplestore.com.br
Camisetas para mentes privilegiadas

 
Magento Community Magento Community
Magento Community
Magento Community
 
Fesc
Jr. Member
 
Total Posts:  1
Joined:  2010-03-16
 

Olá a todos! Estou tambem com o mesmo pobrema do joisbn, igualzinho cara já pesquizei na net e nada ... to com o prazo estourado e no trampo está russo( estou com a corda no pescoço) Caso alguem souber, PELO AMOR D DEUS, HELP-US!!
Fernando

 
Magento Community Magento Community
Magento Community
Magento Community
 
Vinicius Varella
Jr. Member
 
Total Posts:  3
Joined:  2010-06-27
 

Mesmo problema tb, alguem conseguiu verificar ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Vinicius Varella
Jr. Member
 
Total Posts:  3
Joined:  2010-06-27
 

Bom, aqui está resolvido!

Coloquei a página de retorno no PagSeguro(Menu Preferências->Retorno automático de dados->URL de retorno) conforme a visie (http://visie.com.br/pagseguro/plataforma/magento/)

http://www.lojamodelo.com.br/PagSeguro/standard/obrigado/

Criei um CMS -> PagSeguro

Dentro dele adicionei o seguinte Conteúdo para redirecionamento:

<p>N&oacute;s estamos processando seu pedidoPor favoraguarde...</p>
<
p>&nbsp;</p>
<
META http-equiv="refresh" content="1;URL=http://www.lojamodelo.com.br/checkout/onepage/success">

Depois fui em Sistema->Configuração->Métodos de pagamento->Pagseguro
Opção: Página de Retorno: PagSeguro

Ou seja, segui a dica do amigo DouglasGimli.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jonatas_Cabral
Jr. Member
 
Total Posts:  19
Joined:  2010-05-26
 

Pergunta ao amigo Vinicius Varella: esse procedimento resolveu totalmente o problema? Inclusive o envio do e-mail de confirmação da compra para o cliente e para o admin?

Obrigado

 
Magento Community Magento Community
Magento Community
Magento Community
 
Vinicius Varella
Jr. Member
 
Total Posts:  3
Joined:  2010-06-27
 

@serpan

No meu caso Sim, tanto para o cliente quanto para o admin.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Romeu Lopes
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2010-01-09
Sao Paulo - Brasil
 

Onde coloca este código que é gerado no pagseguro?

Ainda não consegui fazer funcionar.

<?php

header('Content-Type: text/html; charset=ISO-8859-1');

define('TOKEN', 'cole aqui o token do vendedor');

class PagSeguroNpi {

private $timeout = 20; // Timeout em segundos

public function notificationPost() {
$postdata = 'Comando=validar&Token;='.TOKEN;
foreach ($_POST as $key => $value) {
$valued = $this->clearStr($value);
$postdata .= "&$key=$valued";
}
return $this->verify($postdata);
}

private function clearStr($str) {
if (!get_magic_quotes_gpc()) {
$str = addslashes($str);
}
return $str;
}

private function verify($data) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = trim(curl_exec($curl));
curl_close($curl);
return $result;
}

}

if (count($_POST) > 0) {

// POST recebido, indica que é a requisição do NPI.
$npi = new PagSeguroNpi();
$result = $npi->notificationPost();

$transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';

if ($result == "VERIFICADO") {
//O post foi validado pelo PagSeguro.
} else if ($result == "FALSO") {
//O post não foi validado pelo PagSeguro.
} else {
//Erro na integração com o PagSeguro.
}

} else {
// POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
// No término do checkout o usuário é redirecionado para este bloco.
?>
<h3>Obrigado por efetuar a compra.</h3>
<?php
}

?>

 
Magento Community Magento Community
Magento Community
Magento Community
 
JonatasReis
Jr. Member
 
Total Posts:  5
Joined:  2011-06-16
 

Galera consegui resolver trocando o módulo.

Estou usando o pagseguro mesmo, mas é o módulo do Bruno Assarisse.

magento-community/BrunoAssarisse_PagSeguro

Neste caso o cliente que realizou a compra recebe o email de confirmação, para o dono da loja tbm receber é só configurar lá nos emails de vendas.

Abçs

 
Magento Community Magento Community
Magento Community
Magento Community
 
nelsontubaina
Member
 
Avatar
Total Posts:  41
Joined:  2011-03-23
 

tive problemas com isso também! descobri que era por que eu não tava com o link correto na página de redirecionamento, eh uma página bem importante a de checkout/success

 
Magento Community Magento Community
Magento Community
Magento Community
 
Ronne Clay
Jr. Member
 
Avatar
Total Posts:  6
Joined:  2009-11-11
 

Acho que o módulo oficial do PagSeguro pecou quando, no retorno, não está habilitado para enviar o e-mail ou quando não fornece informações de como resolver essa falha.

Para mim a solução foi inserir no .phtml de retorno o seguinte código:

<?php 
/**
 * ENVIA E-MAIL DA COMPRA, POIS O MÓDULO DO PAGSEGURO POR SI SÓ, NÃO O FAZ :|
 */
$order = new Mage_Sales_Model_Order();
$incrementId Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order->loadByIncrementId($incrementId);
try
{
    $order
->sendNewOrderEmail();
catch (Exception $ex{  }

?>

Espero ter ajudado.

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