claudiosanches / woocommerce-moip

WooCommerce Moip - WordPress Plugin
http://wordpress.org/plugins/woocommerce-moip/
28 stars 14 forks source link

Parcelas e possível falha com o sandbox do moip #6

Closed daluzluiz closed 10 years ago

daluzluiz commented 10 years ago

Olá, primeiramente gostaria de agradecer pelo plugin. Uma solução que vinha buscando a tempos.

Me de parei com 2 problemas, sendo que 1 talvez seja eu o problema. :) Vou lista-os individualmente:

1 - Parcelas

Ao configurar que você só aceita pagamentos a vista e clicando em salvar, quando o usuário tenta finalizar, o dropbox da "quantidade de parcelas" aparece, porém dentro não existem opções para selecionar. Deixando-o em branco e tentando finalizar a compra, retorna um erro que a quantidade de parcelas deve ser escolhida. (lembrando que a opção de parcelar no cartão está desabilitada). Somente é possivel finalizar a compra, habilitando o parcelamento.

Qual a solução para quem não pretende oferecer parcelamento uma vez que o ticket médio é baixo?

2 - Estou testando através do sandbox do moip, inserindo os tokens, etc. A compra é finalizada, insiro dados ficticios do cartão de crédito e gera o status de "em analise". Quando acesso a sandbox do moip, não consigo visualizar o pagamento por lá. Na seção "instruçoes enviadas" do sandbox, vejo que a compra esta lá e de certa forma se comunicou com o moip. Se eu tento manualmente simular um notificação com o ID, retorna um erro "Erro de transporte". Estou fazendo algo errado? Existe alguma forma na qual o moip autorize/rejeite a compra automaticamente?

Obrigado

claudiosanches commented 10 years ago

Sobre o Sandbox não tem nenhum problema, me parece que você não esta sabendo usar ele. Além que se for em localhost ele não vai conseguir enviar o sinal de volta.

Me envia um print das suas configurações do plugin, vou simular aqui e arrumar se estiver errado.

daluzluiz commented 10 years ago

Obrigado, o sandbox estou usando em no localhost sim, e provavelmente por isso não está dando certo. Porém a questão da parcela única, segue os prints.

Obrigado

screenshot 2014-03-04 09 14 51 screenshot 2014-03-04 09 15 17 screenshot 2014-03-04 09 17 01 screenshot-2014-03-04-09 14 11

cedamorim commented 10 years ago

1 - Caso O problema está em

installmentsDisplay = function( data ) {
   select.empty();

Pode ser resolvido com um if

installmentsDisplay = function( data ) {
   if( data.parcelas.length == 0 ) return;     
      select.empty();

Creio que o motivo seja alguma configuração de parcelas no Moip, pois quando se faz o request ele não retorna nenhuma parcela

2 - Caso

Como dito pelo Claudio, se for localhost não vai ter resposta mesmo.. eu consegui resolver meu problema criando no meu modem um "Virtual Server", adicionando uma porta e quando cair nesta porta, redirecionar para minha maquina local ( conhecido como Portfoward). Logico que tem mais coisas, como configurar e testar no seu ambiente de desenv. com o endereço http://ip:porta, pois quando chegar

includes/class-wc-moip-gateway.php

// Notification URL.
 $instruction->addChild( 'URLNotificacao', home_url( '/?wc-api=WC_Moip_Gateway' ) );

Vai ser usado este endereço é atraves deste no xml que o moip vai responder, se tiver localhost ali esquece..

Outra coisa que você fazer é adicionar um filtro, simples e rapido . algo do tipo

function home_url_corrigir( $url ){
       return str_replace( 'localhost', 'meuip:porta', $url); 
}
// mas isso só em ambiente dev. ein...
add_filter('home_url', 'home_url_corrigir');

Espero ter ajudado em algo..

daluzluiz commented 10 years ago

Obrigado!