r-martins / PagSeguro-Magento-Transparente

Módulo de checkout transparente para Pagseguro - com api v. 2.0
GNU General Public License v2.0
66 stars 0 forks source link

Atualizar o pagamento ao mudar o frete ou endereço no OPC #47

Closed matneves closed 9 years ago

matneves commented 10 years ago

Como no one page checkout é possível alterar o frete, endereço ou outros dados, acho importante colocar um refresh nas parcelas, ou apresentar uma documentação para fazer isso manualmente, já que existem outros vários tipos de checkouts. Note que é necessário ser uma função que possa ser chamada de "qualquer" lugar do magento.

Dansk00 commented 10 years ago

Estou com o mesmo problema, ao utilizar o módulo em um OSC ele não atualiza as parcelas ao selecionar ele como opção de pagamento.

Dansk00 commented 10 years ago

Na imagem abaixo pode-se ter uma noção melhor, certo produto tinha 20% de desconto ao utilzar qualquer meio de pagamento que não fosse pagseguro, mas ao voltar a opção para o pagseguro o valor total tb volta ao normal, mas as parcelas continuam com o valor de desconto.

pagamento 2014-10-21 18-13-26

malaguttis commented 9 years ago

enfrento o mesmo problema, e também ao mudar de forma de pagamento não está atualizando o total. Creio que seja com o onestepcheckout.

Dansk00 commented 9 years ago

Então, mas esse OSC funciona com outras opções de cartão de crédito, desde a do padrão magento até o módulo da Cielo feito pelo felipe, apenas este do pagseguro transparente que não atualiza. :(

matneves commented 9 years ago

Qual a versão do OSC que vocês estão utilizando? É o da IWD?

Dansk00 commented 9 years ago

A última lançada pelo Deivison OSC Brasil Pro 6 http://onestepcheckout.com.br/

malaguttis commented 9 years ago

OSC Brasil Pro 6

malaguttis commented 9 years ago

Alguém conseguiu solucionar o problema?

Dansk00 commented 9 years ago

Eu pelo menos não achei nenhuma saída.

matneves commented 9 years ago

Olá pessoal, coloquem isso no app/design/frontend/base/default/template/ricardomartins_pagseguro/form/directpayment.phtml, dentro da tag script.

$j = jQuery.noConflict();
$j(document).ready(function(){
    $j('.sp-methods input[type=radio]').change(function() {
        if($j(this).attr('id') == 'p_method_pagseguro_cc' && (typeof PagSeguroDirectPayment != 'undefined' && PagSeguroDirectPayment.ready)){
            RMPagSeguro.getInstallments();
        }
    });
});

Por favor me avisem se funcionar com vocês.

Dansk00 commented 9 years ago

Obrigado MatNeves, mas infelizmente não funcionou, continuou com o mesmo problema, o valor total no checkout atualiza, mas as parcelas infelizmente não :( mas muito obrigado.

matneves commented 9 years ago

Você pode me passar a url do site?

Dansk00 commented 9 years ago

Eu estou testando local, você tem skype, e-mail pra contato que ai eu consigo te passar acesso via team viewer?

matneves commented 9 years ago

Sim, adiciona no skype: matneves.

matneves commented 9 years ago

Explicando um pouco. O código que eu coloquei acima, apenas atualiza as parcelas quando trocamos de uma opção de pagamento, seja com desconto ou não, de volta para opção do PagSeguro transparente.

O que acontece é que caso a opção anterior altere de alguma forma o valor total, o OSC ou OPC só atualiza o valor após o savePayment, que ocorre quando você preenche todos os campos obrigatórios da forma de pagamento selecionada. Portando como o módulo calcula o valor durante o preenchimento, e não após o savePayment o valor ainda está desatualizado.

A solução que eu imaginei foi atualizar o review.phtml antes de carregar o getGrandTotal, fica a parte do Ricardo pensar num modo de implementar isso.

Não vou deixar de continuar tentando fazer isso aqui, mas no momento é tudo o que temos.

Dansk00 commented 9 years ago

"OPC" kkkkkkkk, Neves muito obrigado pela contribuição! para as pessoas que utilizam do serviço OSC do Deivison em conjunto com Pagseguro do Ricardo é um problema que pode trazer alguns transtornos ao comerciante, embora não seja desenvolvedor também estarei em busca de uma solução, qualquer novidade posto por aqui. Grato!! :)

malaguttis commented 9 years ago

@MatNeves seu código não teve resultados, se deixar como pagamento padrão boleto bancário, com desconto de 15% e selecionar o rádio do pagseguro não é atualizado os cálculos da "REVISÃO DO PEDIDO" permanecendo com os 15% de desconto no valor.

malaguttis commented 9 years ago

O OSC-Magento-Brasil-6-Pro só atualiza "REVISÃO DO PEDIDO" quando todos os dados do cartão são preenchidos, mas ao digitar o número do cartão retorna os valores das parcelas conforme as regras cadastradas no PagSeguro. Como o total não foi atualizado insere esse desconto no valor das parcelas.

LBCorr commented 9 years ago

Pessoal, tive o mesmo problema e só consegui resolver com uma "gabiarra". A forma mais simples (pra não ter que modificar os reloads a cada alteração) foi ir direto no valor total (obs, uso o opc gringo então o caminho deve ser diferente). No meu caso adicionei o código alterado do MatNeves no arquivo onepagecheckout/onepage/reviews/totals.phtml (no caso de vocês imagino que seja onestepcheckout/onestep/form/reviews/cart/totals.phtml - o arquivo que atualiza o valor final quando selecionado o frete).

Não é uma coca-cola mas talvez ajude alguém, avisem se funcionou e se melhorarem o código:

No final da página totals.phtml adicionar:

        $j = jQuery.noConflict();
        $j(document).ready(function(){
        if($j('#p_method_pagseguro_cc').is(':checked')){
        if(typeof PagSeguroDirectPayment != "undefined" && PagSeguroDirectPayment.ready){
        RMPagSeguro.getInstallments();
        }
     }
});

obs: estou testando em localhost Ainda não testei todas as possibilidades para ver se dá erro Certamente pode ser melhorado Abraço

Dansk00 commented 9 years ago

Infelizmente não funcionou pra mim :( coloquei desta forma no arquivo onestepcheckout/onestep/form/reviews/cart/totals.phtml :

Githubissues.
  • Githubissues is a development platform for aggregating issues.