woocommerce-pagarme
woocommerce-pagarme copied to clipboard
Problemas com a API v2017-08-28
Estou com uma conta do Pagar.me com API versão v2017-08-28 e segundo a documentação os campos customer, billing, shipping e items são obrigatórios.
Se eu desabilito o anti-fraude na conta o erro passa a ser no campo external_id
Alguém com o mesmo problema?
Obrigado.
Fala @henriquefurlan, atualmente o módulo de woocommerce do pagar.me não possui suporte para a versão 2017-08-28 da API. Entre em contato com nossa equipe de relacionamento para retroceder sua chave de API para a versão 2017-07-17, dessa forma poderá utilizar o módulo sem problemas.
Enquanto isso iremos trabalhar para atualizá-lo, e o mais breve possível você poderá utilizar este módulo na versão 2017-08-28, beleza?
Obrigado @murilohns pela resposta, vou fazer isso!
Pessoal, alguém teve problemas com a atualização de datas dos pedidos feito via boleto (após pagamento) na versão nova do woo?
@henriquefurlan mudar a versão da API resolveu o seu problema? Também estou tendo problemas com o plugin Pagar.me para Woocommerce na hora de fazer o checkout. Ele dá o seguinte erro:
child "external_id" fails because ["external_id" is required]
Se habilito o antifraude, o erro muda para:
"value" is required
Em paralelo também estou em contato com o suporte. Estou deixando a mensagem aqui para ajudar futuras buscas de pessoas perdidas =)
@hsribei resolveu sim, estou usando a API 2017-07-17
Mudaram pra mim agora e também resolveu. Obrigado! 👍
@murilohns consigo atualizar o plugin para a última API sem todos os usuários precisarem atualizarem suas contas também?
Fala @claudiosanches, beleza?
A versão 2018-08-28 da API aceita campos específicos, e se forem enviados campos da API antiga( < 2017-07-17) não é possível criar a transação e vai dar erros de campos inválidos.
Isso acontece ao contrário também, se você enviar uma requisição com os campos da nova versão de API pra versão < 2017-07-17 vão faltar campos pra criar a transação.
Se você atualizar o plugin, e todos os clientes atualizarem no site deles, eles terão de alterar a versão de API deles pra 2018-08-28. Isso seria o ideal, pois nessa versão tem novas features, e novas integrações com antifraudes, tornando as vendas dos clientes mais seguras.
Faz sentido?
@murilohns o que eu perguntei é sobre o endpoint, ele esta disponível para todos os clientes? Porque a ideia é migrar completamente para a versão nova e gostaria de saber se tem algo que vai ser necessário para fazer nas contas dos clientes para isso.
Sim @claudiosanches , o endpoint é o mesmo, uma vez adaptado e atualizado o módulo, os clientes precisam apenas solicitar a troca da versão de api deles.
@murilohns entendi, vou atualizar o plugin, os clientes vão atualizar, site de cada um vai parar de receber pagamento e então eles vão abrir um ticket de suporte no Pagar.me pedindo para atualizar a API e assim tudo voltar a funcionar? Já vi que vai ser uma delicia o suporte deste plugin.
Olá @claudiosanches, como vai? Entendemos seus pontos, e podemos pensar em uma estratégia em comum para que esse cenário não aconteça. Desde colocar um disclaimer nos requirements do plugin, em nossa documentação, e talvez na página de descrição no Wordpress. O que acha? Outra forma é mostrar a versão que o usuário está, dentro do painel do WooCommerce, e aqui em nosso lado emitir um comunicado sobre o lançamento futuro de compatibilidade do plugin com a API, e quais as restrições para atualização.
Obrigado pela ajuda Claudio, ficamos à disposição.
@rodrigoPgSup tudo o que você falou ainda vai causar um monte de pedidos de suporte de ambos os lados. Eu quero pegar e ir para a API nova, ainda mais por causa das novas features, mas ao mesmo tempo não podemos deixar as lojas pararem de vender ao atualizar, algumas pessoas até mesmo configuram para tudo para atualizado sozinho (não é comum, mas pode acontecer).
Adicionei um filtro e fiz os ajustes no array
add_filter( 'wc_pagarme_transaction_data', 'fix_transaction_data', 10, 2 );
function fix_transaction_data( $data, $order) {
$data['customer']['external_id'] = $order->get_customer_id();
$data['customer']['type'] = 'individual';
$data['customer']['phone_numbers'] = [sprintf('+55%d%d',
$data['customer']['phone']['ddd'],
$data['customer']['phone']['number']
)];
/* ... */
return $data;
}
Olá amigos! Gostaria de saber se esse problema foi resolvido ou devo solicitar a alteração da API, pois acabei de criar uma conta na Pagar.me, mas ao finalizar a compra no meu site, retorna: TRANSAÇÃO NÃO AUTORIZADA - Ocorreu um erro ao processar sua transação, tente novamente mais tarde.
Oi @flavia-programmer, abre um ticket com o time de [email protected] que eles conseguem dizer qual a melhor estratégia.
Olá @flavia-programmer faço uso do pagar.me faz 10 meses e procurei o suporte da pagar.me para saber como fazer a captura dos dados de cartões internacionais. Foi onde minha API foi atualizada para 2017-08-28 e de nada adiantou, resumindo eles ainda não possuem suporte para Woocommerce e tive que voltar para a Api antiga. Resposta foi: O plugin do Wocommerce não possui compatibilidade com o a última versão de nossa API, por isso, terá que ser realizado uma integração por sua parte para realizar a transação. Caso escolha essa opção, imagino que levará um tempo para o desenvolvimento, e por isso aconselho a trocar a chave de produção para outra versão para não perder vendas.
Uma outra opção é solicitar o whitelist para transações internacioais nas versões compatíveis com o plugin do Wocommerce. O whitelist é uma feature para na qual transações com determinada regra não será passada no antifraude, possibiliitando a transações de cartões internacionais. Mas para usá-la tem que ser passado para o cliente esta regra, ou criar um checkout para clientes fora do brasil com esta regra implicita e invisível no formulário.
Se alguém puder me ajudar nisso, aguardo!
Descobri que não posso usar o plugin no meu site porque já criei algumas integrações internas usando a versão 3 da API. O melhor dos mundos seria suportar as duas versões de API e deixar o usuário escolher a versão correta na configuração.
Adicionei um filtro e fiz os ajustes no array
add_filter( 'wc_pagarme_transaction_data', 'fix_transaction_data', 10, 2 ); function fix_transaction_data( $data, $order) { $data['customer']['external_id'] = $order->get_customer_id(); $data['customer']['type'] = 'individual'; $data['customer']['phone_numbers'] = [sprintf('+55%d%d', $data['customer']['phone']['ddd'], $data['customer']['phone']['number'] )]; /* ... */ return $data; }
Olá @eduardo-marcolino boa tarde Aonde eu preciso adicionar este filtro? Em qual arquivo de qual diretório? Isso fará o plugin Pagar.Me funcionar com a versão nova de API?
Obrigado
@claudiosanches Tudo bem? Houve alguma solução definitiva para esse problema?
@claudiosanches Tudo bem? Houve alguma solução definitiva para esse problema?
Na dashboard do pagar.me em API KEYS alterar a versão para 2017-07-17.