woocommerce-pagarme icon indicating copy to clipboard operation
woocommerce-pagarme copied to clipboard

Problemas com a API v2017-08-28

Open henriquefurlan opened this issue 8 years ago • 21 comments

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.

henriquefurlan avatar Sep 12 '17 17:09 henriquefurlan

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?

murilohns avatar Sep 12 '17 19:09 murilohns

Obrigado @murilohns pela resposta, vou fazer isso!

henriquefurlan avatar Sep 12 '17 19:09 henriquefurlan

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?

blakedigital avatar Sep 16 '17 16:09 blakedigital

@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 avatar Sep 28 '17 19:09 hsribei

@hsribei resolveu sim, estou usando a API 2017-07-17

henriquefurlan avatar Sep 28 '17 19:09 henriquefurlan

Mudaram pra mim agora e também resolveu. Obrigado! 👍

hsribei avatar Sep 28 '17 20:09 hsribei

@murilohns consigo atualizar o plugin para a última API sem todos os usuários precisarem atualizarem suas contas também?

claudiosanches avatar Oct 27 '17 11:10 claudiosanches

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 avatar Oct 27 '17 13:10 murilohns

@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.

claudiosanches avatar Oct 27 '17 13:10 claudiosanches

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 avatar Oct 27 '17 19:10 murilohns

@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.

claudiosanches avatar Oct 27 '17 19:10 claudiosanches

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 avatar Oct 30 '17 12:10 rodrigoPgSup

@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).

claudiosanches avatar Oct 30 '17 14:10 claudiosanches

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;
}

eduardo-marcolino avatar Mar 28 '18 21:03 eduardo-marcolino

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.

flavia-programmer avatar Oct 31 '18 20:10 flavia-programmer

Oi @flavia-programmer, abre um ticket com o time de [email protected] que eles conseguem dizer qual a melhor estratégia.

rodrigoaml avatar Nov 01 '18 13:11 rodrigoaml

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!

douglasfox16 avatar Nov 06 '18 00:11 douglasfox16

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.

lrrosa avatar Apr 10 '19 20:04 lrrosa

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

danielsouzapinna avatar May 25 '19 18:05 danielsouzapinna

@claudiosanches Tudo bem? Houve alguma solução definitiva para esse problema?

ghost avatar Sep 19 '19 17:09 ghost

@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.

imgom3s avatar Jul 11 '20 14:07 imgom3s