pagarme / woocommerce

Woocommerce module for Pagar.me
MIT License
17 stars 17 forks source link

Fatal Error during payment #133

Closed rickdroio closed 2 months ago

rickdroio commented 2 years ago

Status

Fatal Error during payment

Checklist

Real website Frequency: 70%

Steps

  1. Add a item to cart
  2. Go to checkout page
  3. Select Credit Card, insert card data
  4. Press PAY button

Expected behaviour

The payment should be processed and go to THANKYOU page, even if credit card has any payment issue.

Actual behaviour

After press PAY button appears a generic error on frontend ("ERRO AO FINALIZAR A COMPRA. TENTE NOVAMENTE"). A Fatal Error log is generated (null is passed to addPayment() function) Order is update to "pending payment" status. No record is generated on PAGARME dashboard (meaning plugin crashed before contact server?).

checkout order_pending

Environment

Pagarme plugin 2.0.9 Woocommerce 6.8.0

Logs / Stack trace

FATAL ERROR WP LOG AFTER PAYMENT

2022-08-16T22:38:11+00:00 CRITICAL Uncaught TypeError: Argument 1 passed to Pagarme\Core\Payment\Aggregates\Order::addPayment() must be an instance of Pagarme\Core\Payment\Aggregates\Payments\AbstractPayment, null given, called in /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Kernel/Services/OrderService.php on line 368 and defined in /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Payment/Aggregates/Order.php:116
Stack trace:
#0 /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Kernel/Services/OrderService.php(368): Pagarme\Core\Payment\Aggregates\Order->addPayment(NULL)
#1 /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Kernel/Services/OrderService.php(259): Pagarme\Core\Kernel\Services\OrderService->extractPaymentOrderFromPlatformOrder(Object(Woocommerce\Pagarme\Concrete\WoocommercePlatformOrderDecora, em /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Payment/Aggregates/Order.php, na linha 116

ORDER STATUS UPDATE LOG

[2022-08-16 10:38:11] Order.INFO: Order #164841 : Creating order.
Version: m: 2.0.9 c: 1.1.2 p:  Wordpress/6.0.1 Woocommerce/6.8.0 
From: /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/src/Controller/Orders.php:55 -> Pagarme\Core\Kernel\Services\OrderService::createOrderAtPagarme
{
    "grandTotal": "89.90"
}
[2022-08-16 10:38:11] Order.INFO: Order #164841 : State Change
Version: m: 2.0.9 c: 1.1.2 p:  Wordpress/6.0.1 Woocommerce/6.8.0 
From: /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Kernel/Services/OrderService.php:255 -> Pagarme\Core\Kernel\Abstractions\AbstractPlatformOrderDecorator::setState
{
    "from": "new",
    "to": "new"
}
[2022-08-16 10:38:11] Order.INFO: Order #164841 : Status Change
Version: m: 2.0.9 c: 1.1.2 p:  Wordpress/6.0.1 Woocommerce/6.8.0 
From: /var/www/htdocs/wp-content/plugins/pagarme-payments-for-woocommerce/vendor/pagarme/ecommerce-module-core/src/Kernel/Services/OrderService.php:256 -> Pagarme\Core\Kernel\Abstractions\AbstractPlatformOrderDecorator::setStatus
{
    "from": "pending",
    "to": "pending"
}
mateus-picoloto commented 9 months ago

Boa tarde @rickdroio! Tudo bem?

Continua com esse erro ainda? Caso precise de suporte, nos envie um e-mail para opensource@pagar.me com seu site e e-mail de cadastro na Pagar.me, para podermos investigar esse problema e corrigir o Plugin. Entraremos em contato em seguida.

Obrigado!

Marcelo-Petrucelli commented 9 months ago

@mateus-picoloto, tudo bem?

Verifiquei que esse exato erro também ocorre comigo quando o usuário não está logado. Quando é tanto uma "Criação de conta no checkout" ou "Sem a necessidade de login".

Também estou usando:

Existe alguma sugestão de como posso evita-lo, mesmo que temporariamente?

mateus-picoloto commented 9 months ago

Boa tarde @Marcelo-Petrucelli, tudo bem?

Para analisarmos melhor o motivo desse erro estar acontecendo na sua loja teria como nos enviar por e-mail alguma evidência(Print ou vídeo do problema acontecendo), os logs do nosso plugin no dia que ocorreu o problema(O arquivos são no padrão Pagarme_PaymentModule_data-do-dia.log e woo-pagarme-data-do-dia.log) e também o site em que está ocorrendo o problema? Nosso e-mail é o opensource@pagar.me.

RafaMelazzo commented 2 months ago

Boa tarde @rickdroio e @Marcelo-Petrucelli! Tudo bem?

Como não tivemos retorno até o momento, estamos fechando essa issue. Caso enfrentem esse problema ainda, por favor, entrem em contato através do e-mail opensource@pagar.me para analisarmos o caso de vocês.

Muito obrigado!