Chamado de método inexistente em compras com 2 cartões de crédito
Closed this issue · 1 comments
Foi encontrado um bug na classe \RicardoMartins\PagSeguro\Model\Method\Twocc em que vários disparos para log dentro dos catches (do try/catch) acabavam chamando um médoto que não existia na classe.
Tal método é chamado ao realizar o Place Order com TwoCC e gerava o erro abaixo nos logs:
[2022-11-14 17:11:35] main.CRITICAL: Placing an order with quote_id xxxxx is failed: Método inválido RicardoMartins\PagSeguro\Model\Method\Twocc::writeLog [] []
Assim, verificando o código é poissível visualizar que dentro de vários catch na classe há a chamada do método writeLog como abaixo:
...
try {
// call API - cancels
$returnXml = $this->callApi($params, $payment, 'transactions/cancels/');
if ($returnXml === null) {
$errorMsg[] = 'Impossível cancelar compra do 1º cartão. Aldo deu errado.';
}
} catch (\Exception $e) {
$this->writeLog(__('Payment cancels error.'));
$errorMsg[] = __('Payment cancels error.');
}
...
Entretanto, o método writeLog não existe na classe (ou na parent class). O mesmo é chamado do $pagSeguroHelper.
Pra ajustar basta chamá-lo como:
$this->pagSeguroHelper->writeLog();