Olá @hugos007
No processamento do callback não verificamos se a encomenda está com método “MBWAY”. Só verificamos se tem em meta os IDs que lá guardámos quando fizemos o pedido de pagamento, se o valor corresponde, etc… É por essa razão que a encomenda muda de estado correctamente. Não verificamos isso, precisamente porque “alguém” ou “alguma coisa” pode ter mudado o estado da encomenda.
Faça uma encomenda com MBWAY e (antes de pagar) verifique se a mesma está com o método incorrecto, ou não.
Quem define o método na encomenda é o WooCommerce, não é o nosso plugin. Nós só declaramos que existe esta gateway, mas quem grava em meta da encomenda qual foi a gateway escolhida pelo cliente é o WooCommerce (o que faz sentido, pois isto tem de acontecer sempre que entra qualquer encomenda, seja qual for o método). O que me deixa desconfiado que “alguma coisa” está a fazer essa alteração. Algum outro plugin, por exemplo.
Não tenho outra explicação para isto e nem vejo como é que possa ser o nosso plugin a mudar o método de pagamento da encomenda (para poder resolver o problema).
Alguma novidade sobre este tópico ou podemos encerrar?
Bom dia Marco, por acaso, ainda esta semana voltou a acontecer. Como estava com o modo de debug activo, registei o erro. Parece-me estar relacionado com o tempo de resposta da IfThenPay.
-> Error: No orders found awaiting payment with these details – We are going to try by reference (order id) only
Captura do erro: https://drive.google.com/file/d/1ZiXEdv53v2HSSa5U-Kd4hgiJmowZmEWZ/view?usp=sharing
Experimentem adicionar isto ao functions.php ou a um plugin de snipets:
add_filter( 'mbway_ifthen_webservice_timeout', function ( $timeout ) {
return 30;
} );
Obrigado, já adicionei. Vamos continuar a monitorizar.
Ticket encerrado por falta de feedback adicional.