TransbankDevelopers / transbank-plugin-woocommerce-webpay

OBSOLETO: Código fuente de Plugin WooCommerce para Transbank Webpay
BSD 3-Clause "New" or "Revised" License
19 stars 17 forks source link

Timeout conectando a WebPay, log muestra token duplicado, se descuenta a cliente #134

Closed eperezf closed 4 years ago

eperezf commented 4 years ago

Describe el bug

Algunas órdenes pasan de exitosas a fallidas en WooCommerce después de que el pago haya sido realizado, cobrando al cliente pero dejando la orden como fallida.

Para reproducir

  1. Realizar compra
  2. Pagar
  3. WebPay muestra transacción como exitosa
  4. WooCommerce cambia el estado de Procesando a Fallido

Comportamiento observado

En WoCommerce, en el detalle del pedido se puede ver que la primera nota dice "Pago exitoso con WebPay Plus". En el log del plugin hay un getTransactionResult en la hora indicada. Sin embargo, 27 segundos después llega un segundo getTransactionResult idéntico, lo cual podría estar provocando el cambio de Procesando a Fallido. Se agrega una nueva nota al pedido que indica

{
«error»: «Error conectando a Webpay (Verificar que la información del certificado sea correcta)»,
«detail»: » Timeout error(272) »
}

El certificado está correcto ya que otras transacciones sí funcionan.

En un caso llega incluso un tercer getTransactionResult pero con un token diferente. Al parecer ocurre un Timeout a Webpay cuando la transacción ya ha sido realizada.

Según los clientes el que falla es WebPay pero no hemos podido verificarlo y por lo que muestra el log no lo es.

Este comportamiento parece ser aleatorio. No hemos encontrado algo en común entre transacciones que pueda ser la causa.

Comportamiento esperado

Siguiendo la lógica del resto del log, debería llegar solamente un getTransactionResult para cada transacción.

Capturas de pantalla

Captura de Pantalla 2020-06-27 a la(s) 12 39 17 Captura de Pantalla 2020-06-27 a la(s) 12 43 24

Versiones (por favor agrega aquí la siguiente información):

ffiebig commented 4 years ago

Hola @eperezf gracias por reportarlo vamos a tener que revisar a fondo y con calma que está generando esto. Efectivamente solo debería hacer una llamada a getTransactionResult. Si llegas a encontrar una forma de consistentemente replicar el bug cuentanos porfa

eperezf commented 4 years ago

No he encontrado una forma consistente de replicarlo Parece ser aleatorio. Y tampoco hay una correlación entre clientes.

gdespirito commented 4 years ago

Hola. Entiendo que esto ya no pasa en la última versión del plugin. Si tienen más info, volvemos a abrir el issue.