Closed socialweb-iaraya closed 7 months ago
Hola @socialweb-iaraya esto quedo resuelto en el siguiente PR https://github.com/TransbankDevelopers/transbank-plugin-magento2-webpay-rest/pull/79
Estará incluido en la siguiente versión del plugin
Gracias por el reporte.
Describe el bug
En ambiente de pruebas de una instalación limpia de Magento 2.4.2, el sitio se cae al volver de una transacción rechazada, a pesar de que se crea el registro en el log:
Dec 1, 2023 12:31:52 PM Canceled Customer Not Notified {"vci":"TSY","status":"FAILED","responseCode":-1,"amount":100005,"authorizationCode":"000000","paymentTypeCode":"VD","accountingDate":"1201","installmentsNumber":0,"installmentsAmount":null,"sessionId":"1","buyOrder":"000000001","cardNumber":"3829","cardDetail":{"card_number":"3829"},"transactionDate":"2023-12-01T15:31:14.511Z","balance":null}
Para reproducir
Comportamiento observado
El sitio se cae y arroja el siguiente error:
TypeError: Argument 1 passed to Transbank\Webpay\Controller\Transaction\CommitWebpayM22::getRejectMessage() must be of the type array, object given, called in /var/www/test.domain.com/vendor/transbank/webpay-magento2-rest/Controller/Transaction/CommitWebpayM22.php on line 137 and defined in /var/www/test.domain.com/vendor/transbank/webpay-magento2-rest/Controller/Transaction/CommitWebpayM22.php:307 Stack trace: #0 /var/www/test.domain.com/vendor/transbank/webpay-magento2-rest/Controller/Transaction/CommitWebpayM22.php(137): Transbank\Webpay\Controller\Transaction\CommitWebpayM22->getRejectMessage() #1 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(58): Transbank\Webpay\Controller\Transaction\CommitWebpayM22->execute() #2 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(138): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->callParent() #3 /var/www/test.domain.com/vendor/magento/framework/App/Action/Plugin/ActionFlagNoDispatchPlugin.php(51): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->Magento\Framework\Interception{closure}() #4 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Framework\App\Action\Plugin\ActionFlagNoDispatchPlugin->aroundExecute() #5 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(153): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->Magento\Framework\Interception{closure}() #6 /var/www/test.domain.com/generated/code/Transbank/Webpay/Controller/Transaction/CommitWebpay/Interceptor.php(41): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->callPlugins() #7 /var/www/test.domain.com/vendor/magento/framework/App/Action/Action.php(111): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->execute() #8 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Action\Action->dispatch() #9 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(138): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->callParent() #10 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(153): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->Magento\Framework\Interception{closure}() #11 /var/www/test.domain.com/generated/code/Transbank/Webpay/Controller/Transaction/CommitWebpay/Interceptor.php(50): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->callPlugins() #12 /var/www/test.domain.com/vendor/magento/framework/App/FrontController.php(186): Transbank\Webpay\Controller\Transaction\CommitWebpay\Interceptor->dispatch() #13 /var/www/test.domain.com/vendor/magento/framework/App/FrontController.php(118): Magento\Framework\App\FrontController->processRequest() #14 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch() #15 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->callParent() #16 /var/www/test.domain.com/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(99): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() #17 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch() #18 /var/www/test.domain.com/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(75): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() #19 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch() #20 /var/www/test.domain.com/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() #21 /var/www/test.domain.com/generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->callPlugins() #22 /var/www/test.domain.com/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch() #23 /var/www/test.domain.com/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch() #24 /var/www/test.domain.com/vendor/magento/framework/App/Bootstrap.php(263): Magento\Framework\App\Http\Interceptor->launch() #25 /var/www/test.domain.com/pub/index.php(29): Magento\Framework\App\Bootstrap->run() #26 {main}
Comportamiento esperado
Debería mostrar un mensaje al usuario de que la transacción se rechazó por X motivo.
Capturas de pantalla
N/A
Versiones de software
ubuntu 22.04.3 - php7.4 - mysql 8.0.35 - elasticsearch 7.6.0 - composer 1.10.17 - magento 2.4.2 - Plugin Transbank 2.1.5
Contexto adicional
El sitio está configurado con certificado SSL instalado usando Certbot. Las transacciones aceptadas no generan error.