woocommerce-pagarme
woocommerce-pagarme copied to clipboard
Ajustado código de retorno do IPN para que em caso de falha o Pagar.me tente novamente
Motivação
Em alguns casos (raros) o processamento do pedido no Woocommerce é mais lento que o IPN de resposta do pedido pago, sendo que, quando o IPN chega no servidor ele ainda não salvou a meta key _wc_pagarme_transaction_id do pedido fazendo com que o processamento do IPN falhe.
Mas, mesmo falhando, o IPN retorna um status 200 fazendo com que o Pagar.me conclua que o IPN foi processado corretamente e não envie retentativas.
Solução proposta
- Retornar
falsena funçãoprocess_successful_ipncaso o pedido com_wc_pagarme_transaction_idnão seja encontrado. - Retornar header
HTTP/1.1 406 Not Acceptableinformando para o Pagar.me que o IPN falhou. Assim o Pagar.me tentará enviar novamente o IPN sincronizando corretamente o status do pedido.
Obs: também foram adicionados mais alguns logs para debug dessa parte do código.
Olá @claudiosanches , tudo bem?
Pode verificar esse commit do PR por gentileza?
Esse é um problema que tem afetado vários pessoas recentemente e é bem simples de revisar.
Precisando atualizar e corrigir os conflitos.