improntus / module-rebill

1 stars 0 forks source link

*** THE MOST CRITICAL *** [Checkout] Error al querer finalizar la orden se obtuvo "Hubo un error al crear el pago, intente nuevamente." #48

Closed brunojbarros closed 1 year ago

brunojbarros commented 1 year ago

Funcionalidad/módulo Checkout

Comportamiento actual Error al querer finalizar la orden se obtuvo "Hubo un error al crear el pago, intente nuevamente."

Caso 1) Haciendo una única prueba en paralelo: test-failed-1

Esto ocurrió entre las 20:15hs y 20:16hs GMT-3 del día 12/12/2022, pero no es algo que haya ocurrido continuamente, sino que fue algo aislado.

video.webm

Otras ocasiones que sucedió lo mismo:

Caso 2) Se intentó realizar treinta checkouts, usando cuatro hilos, seis pruebas fallaron, en todas las pruebas los pasos consistieron en:

  1. Crear un nuevo customer
  2. Crear un address al customer
  3. Ingresar a la URL del producto
  4. Agregar al carrito todas las frecuencias que tenga el producto, o bien, en caso de producto "one time", simplemente agregarlo
  5. Aplicar un cupón (en los casos anteriores NO se aplicó cupón)
  6. Avanzar en el checkout hasta finalizar la compra
  7. Ir al detalle de la orden y validar que se haya creado correctamente
  8. Una de las pruebas falló.

Las seis pruebas fallaron por diferentes motivos:

18/12/2022 17:01:38 (GMT-3) 62d42f58-2535-468f-8136-163de68115f2@mailsac.com / Password123!

48677a74608f0c47986c85ed74972cd130c8b4f2.webm

18/12/2022 17:04:42 (GMT-3) ad73377f-074c-4bfe-babd-1a071d6fa8a5@mailsac.com@mailsac.com / Password123!

e9d0efde96fa0273c02345124559d1cc20cee5a6.webm

18/12/2022 17:07:24 (GMT-3) a9eec67f-a3cb-4ca8-868c-8fd6172e29ab@mailsac.com@mailsac.com / Password123!

0d45c37433bc5c71039550e99ccf37b9d69172f2.webm

En ambos casos, todas las fechas son aproximadas, con +/- un minuto de diferencia.

Resultado esperado Se espera que se finalice la orden avanzando a la pantalla posterior.

brunojbarros commented 1 year ago

@mauromm ¿alguna novedad sobre esto?

mauromm commented 1 year ago

Bruno, veo que los errores que te pasaron estos días viene por tema de decimales y conversión de monedas:

[2022-12-18T03:14:18.167024+00:00] rebillLogger.INFO: {"amount":"1.1216666666667","type":"fixed","repetitions":null,"currency":"EUR","gatewayId":"102f25b7-d0ca-4ddf-aab9-ddad41a211d4","description":"[REB][AUT] Subs only - Without base price","enabled":true,"frequency":{"type":"months","quantity":1}} [] [] [2022-12-18T03:14:18.167314+00:00] rebillLogger.INFO: {"statusCode":400,"timestamp":"Sun, 18 Dec 2022 03:14:18 GMT","path":"/v2/item/b07c1460-ed88-4a24-8eff-06fb25e7b393/price","message":"Amount value should have less than or equals to 5 decimals"} [] []

[2022-12-18T20:03:07.860769+00:00] rebillLogger.INFO: {"amount":"1,090.98000","type":"fixed","repetitions":1,"currency":"EUR","gatewayId":"102f25b7-d0ca-4ddf-aab9-ddad41a211d4","description":"Order #000000543 Additional Costs","enabled":true} [] [] [2022-12-18T20:03:07.860973+00:00] rebillLogger.INFO: {"statusCode":400,"timestamp":"Sun, 18 Dec 2022 20:03:07 GMT","path":"/v2/item/32166026-9583-4d23-ac00-cdc6c14ed6c0/price","message":"Bad Request Exception: amount must be a number string. "} [] []

brunojbarros commented 1 year ago

@mauromm

Probé haciendo un checkout con un precio recurrente NO existente en Rebill, aplicando un cupón con más de dos decimales:

image image image image image

Noto que en caso de aplicar un cupón con más de dos decimales:

Si bien Magento permite crear productos con más de dos decimales, el plugin permite crear frecuencias de más de dos decimales, y Rebill permite hasta cinco decimales, me surgen algunas cuestiones:

  1. ¿En qué situaciones Magento envía solamente dos decimales y en cuáles intenta enviar todos los decimales?
  2. Hay que hacer que haya una consistencia entre la información que se visualiza y manipula en ambos lados (Magento y Rebill), no debería de darse por ejemplo, que en Magento se muestre $1.000,12 y en Rebill $1.000,12345
  3. El primer mensaje es un error que devuelve Rebill, acorde a lo comentado en el ticket #38 , por lo cual, si está causando problemas al hacer el checkout debería de encararse. Por otro lado, por lo que veo en el segundo mensaje están enviando decimales innecesariamente, tengan cuidado con esto; están queriendo enviar mil noventa con noventa y ocho centavos (en nuestro formato, sería $1.090, 98), pero sin embargo, para la parte decimal, están enviando más decimales que los necesarios, dado que en la parte decimal los ceros a la derecha se pueden omitir. Si intentaran crear un precio de "1.00000" se crearía correctamente, si lo intentaran crear con " 1.000000" (seis decimales) obtendrían el error "Amount value should have less than or equals to 5 decimals" siendo que pudo haberse prevenido.
  4. El segundo mensaje se corresponde a que Magento no está enviando correctamente el monto: "1,090.98000", cuando debería de ser: "1090.98000" (tienen que omitir la coma que la están usando como separador de miles)
brunojbarros commented 1 year ago

@mauromm @MauroImp91

Dejo otro ejemplo, en este caso donde solamente está el precio de los productos, frecuencias y sign up cost:

image

bc33e5fb-d942-445a-af97-5effc49b5cd9@mailsac.com / Password123!

Fecha aproximada en la que ocurrió el error: 21/12/2022 19:44:53 (GMT-3). Van a notar que varios errores cercano a esta hora. Asumo que falló por el segundo error: "amount must be a number string.", dado que no se aplicó ningún descuento ni cupón ni impuesto.

brunojbarros commented 1 year ago

@mauromm @mauromm

¿Cuándo estiman tener esto resuelto?

MauroImp91 commented 1 year ago

@brunojbarros

Podrás volver a intentar? Ahí subimos unos cambios que con el ultimo ejemplo que compartiste ya no esta ocurriendo este error. Avísame cualquier cosa.

brunojbarros commented 1 year ago

@MauroImp91 @mauromm

Sigue habiendo inconvenientes y figurando "Hubo un error al crear el pago, intente nuevamente.", por ejemplo: OneTime&Subs - Without base price | Qty: +1 | Shipping: free | Apply tax: true | Coupon: Without coupon 23/12/2022 09:19:41 GMT-0300 e9d4714c-d6ca-4045-9b3e-bb7fb454c5e9@mailsac.com

26e1b08c34dd604ca46a3635562a4ce2bf56e3b5.webm

OneTime&Subs - With base price | Qty: 1 | Shipping: free | Apply tax: true | Coupon: Without coupon 23/12/2022 09:18:33 GMT-0300 f8562479-4288-448f-937f-ea460345dbe6@mailsac.com

b7526076249d460147c3063ef21759ac4a7a79e2.webm

Prod one time only | Qty: 1 | Shipping: free | Apply tax: false | Coupon: Fixed amount discount for whole cart 23/12/2022 09:28:40 GMT-0300 cf5a8bd9-309e-44d0-a9f3-7f31c47e9a07@mailsac.com

9359d6d98844c31f3dc80159eb821b17db418d6c.webm

Estos son algunos ejemplos, pero hubieron 16 pruebas que fallaron por el error "Hubo un error al crear el pago, intente nuevamente." y otras 6 que fallaron porque al querer finalizar la orden, regresa a la primera pantalla de checkout, que según comentaron en el #55 el origen del problema es el mismo.

brunojbarros commented 1 year ago

@MauroImp91 buen día, ¿tienen alguna novedad por este bug?

MauroImp91 commented 1 year ago

@brunojbarros

Buenos días Bruno, todavía seguimos trabajando sobre esta issue. Tan pronto tengamos novedades te lo estaremos informando por este medio.

MauroImp91 commented 1 year ago

@brunojbarros

Buenos días Bruno, queria informarte que ya subimos los cambios para poder solucionar este problema. Cuando puedas volve a realizar las pruebas necesarias y cualquier consulta que se presente me avisas!

brunojbarros commented 1 year ago

@MauroImp91

Sigue pasando, dejo algunos casos: 27/12/2022 10:10:46 GMT-3 5d46026f-133b-476f-af9e-a524814d3ae2@mailsac.com

2a10cfa87fd0317d4ddc228f4fa4255d8912f6fe.webm

27/12/2022 10:12:14 GMT-3 21bc5234-1cc9-46ff-a59e-e0839b005050@mailsac.com

f5ee198cb7c00b20226363810b037ecc258f8d34.webm

27/12/2022 10:15:47 GMT-3 fdfb48fe-ca9d-49b1-b7b0-9b04d854b476@mailsac.com

a89d18d6f857bc75a0f2eae52c1a89255678ed2a.webm

27/12/2022 10:18:27 GMT-3 0a4645df-a3c3-4196-be23-f94b947b970a@mailsac.com

b6a15a0622a6873af1af37577f0fdad163a13b20.webm

MauroImp91 commented 1 year ago

@brunojbarros

Gracias por los comentarios, estuvimos revisando esos casos y vemos que el dato por el que fallaba ("amount") es el correcto para esas ordenes. image

image

image

De todas formas revisando los logs, encontramos dentro de las pruebas que realizaste algunas ordenes que fallaban y gracias a eso pudimos encontrar donde podría generar el error para esos casos. Te pido una vez mas si puedes volver a realizar las pruebas. Cualquier novedad estamos atentos.

gustavorebill commented 1 year ago

@MauroImp91 Los errores se continuan reproduciendo

Subs only - Without base price | Qty: +1 | Shipping: free | Apply tax: true | Coupon: Without coupon

Dec 27 2022 17:53:18 GMT-0300 23a2cbe2-cd8c-47ef-9385-507b7da77223@mailsac.com 1cde169c1e7fd0ecea73d2941385b3f49971c43f.webm

Prod one time only | Qty: 1 | Shipping: free | Apply tax: true | Coupon: Fixed amount discount for whole cart Dec 27 2022 17:58:39 GMT-0300 c6e0ab8b17e0503e0b12d47863f3510f3f30ffb7.webm

Subs only - Without base price | Qty: +1 | Shipping: flat rate | Apply tax: false | Coupon: Fixed amount discount for whole cart Dec 27 2022 18:04:36 GMT-0300 33ca6639-2850-454a-8dda-3d81d6563800@mailsac.com will be created. 72b9352371cb3004712a804f63a19c7846431e98.webm

brunojbarros commented 1 year ago

@MauroImp91

Sigue pasando, dejo algunos casos: Dec 27 2022 20:11:46 GMT-0300 b45158e0-2881-45fb-98d3-23f56244eab2@mailsac.com

e8788f8cb6169c66ec02dd65f8695a2bd5935cb0.webm

Dec 27 2022 20:15:05 GMT-0300 b2c9a03a-2873-4aca-a2b1-674374f2319e@mailsac.com

4ede23a58e73d55cbb23d6ca15becd83413b882f.webm

Dec 27 2022 20:14:29 GMT-0300 abf290d6-9db8-4963-b6be-a4369efbb8ce@mailsac.com

838cc110e66378d998455047bc5ecd28d34744b3.webm

Dec 27 2022 20:21:03 GMT-0300 99c0bfb5-ed77-48a1-b9ef-b6973be59a47@mailsac.com

a69331006d72fb72057509ce5731a128f6225d8f.webm

MauroImp91 commented 1 year ago

Muchas gracias @brunojbarros.

Por lo que vivos había costos adicionales que generaban números con notación científica, eran muy pocos los casos pero generaban ese error. Ahí subimos un fix para que esto quede solucionado. Quedo atento ante cualquier novedad.

gustavorebill commented 1 year ago

No se puede reproducir el error. Se procede con el cierre del ticket.