Problemas relacionados à falta do parâmetro sender_hash
durante a finalização do pedido, geralmente estão ligados à instabilidades no PagSeguro. Este é um problema conhecido e que só acontece em lojas com Magento 1 que não usam um dos modelos de aplicação.
Quando o problema ocorre antes da finalização do checkout, aparecendo em seus arquivos de log, o problema pode estar relacionado ao seu checkout e chamadas ajax realizadas por ele. Veja como contornar o problema.
Certifique-se também de que não há nenhum outro campo com o nome "payment[sender_hash]" em outro módulo de pagamento que possa estar sendo submetido junto ao seu form. Caso exista outro campo com mesmo nome dentro do form de finalização do pedido, o valor do último campo prevalecerá.
Veja abaixo o histórico de resolução deste problema junto ao PagSeguro.
Update versão 3.0 - Janeiro/2017
A partir da versão 3.0 de ambos os módulos o tratamento do sender_hash e creditcard_token passou a ser feita de outra forma e esse problema provavelmente não ocorrerá mais em nenhum tipo de checkout. Atualize sua versão e mande seu feedback.
Update - Dezembro/2017
Há um problema intermitente, aparentemente do lado do PagSeguro que faz o sender hash não ser gerado. A equipe do PagSeguro já está ciente e está investigando o assunto (desde Outubro). Abra um chamado para verificar o andamento desta solicitação se isto estiver impactando muitos dos seus pedidos.
Update - Março/2019
Na versão 3.7.4 do módulo principal, passamos a usar um novo método atualizado pelo PagSeguro para obter o sender_hash. No entanto, o problema ainda persiste quando os serviços do PagSeguro não respondem.
Update - Junho/2019 - Solução parcial
Em parceria com o PagSeguro, lojistas no modelo de aplicação não serão mais obrigados a informar o sender_hash nos momentos de indisponibilidade. Desta forma, o problema é resolvido definitivamente para usuários do módulo no modelo de aplicação. Isto inclui 100% das lojas que usam nossos módulos PagSeguro para Magento 2 e WooCommerce, e a grande maioria dos que usam nosso módulo para Magento 1.x. Saiba mais.
Com a popularidade dos modelos de aplicação, o antigo modelo de assinatura não está disponível nos módulos para Magento 2, WooCommerce e outros. Além de resolver este e outros problemas, os modelos de aplicação costumam ter taxas menores e trazer mais benefício e estabilidade para os lojistas.
Veja também
Workaround para sender hash inválido em checkouts específicos
Solução para o problema do sender_hash em lojistas com o modelo de aplicação
Comentários
6 comentários
Em caso de dúvidas, por favor, abra uma solicitação no link superior.
Usem este espaço apenas para acrescentar suas soluções, pois não recebo notificações de novos comentários.
Conto com vocês! ;)
Estou tentando utilizar o módulo para criar pedidos também no backend do magento. Tentei adicionar o método RMPagSeguro.updateSenderHash() junto ao botão de checkout e até adicionar o input abaixo na página de novo pedido do backend, mas não consegui resolver o problema.
<input type="hidden" name="payment[sender_hash]"/>
Pode me dar uma ajuda ou alguma dica para habilitar este módulo para pagamento direto no backend?
Ricardo estou com esse problema. Não imagino como aplicar esse método RMP... aonde insiro isso?. Alias, estou com o problema tb de retorno das requiaições do PagSeguro, já abri ticklet é um negócio importante por favor dar uma atenção
Boa tarde,
tente ativar essa opção no pagseguro, talvez esteja desabilitado para boleto bancário.
Se não der certo, desative todos os módulos de pagamento e deixe somente o pagseguro, talvez tenha outro módulo conflitando com este.
Olá ricardo!
Atualizei o plugin para a ultima versão (Atualizamos os 2 pois utilizamos a versão PRO)
Entretanto quando optamos por boleto recebo o erro citado acima.
Nos testes o correios funcionou.
Testei pelo admin e recebi o mesmo erro.
Pode me ajudar?
Ricardo, aqui eu uso o módulo mais recente e hj aconteceu de chegar um email falando que a compra não foi efetivada devido a ao sender hash. (53150). Feedback :)
Por favor, entre para comentar.