Error de número decimal al pagar con tarjeta de credito en OpenPay en Thirty Bees
Buen día amigos, pues seguimos con la pasarela de pagos de OpenPay, y el detalle obtenido ahora fue al tratar de realizar un pago con tarjeta, el monto en esta ocasión es de $754.99 pesos y al momento de procesar el pago marca error.
Indagando en el log que ofrece OpenPay para el sandbox me encuentro con un numero con mas de 3 decimales '754.990000000000009094947017729282379150390625':
En la imagen siguiente se observa la función cardPayment donde se realiza el proceso, use la opción de (float),el round y tampoco, y menos la bcdiv($valor,'1',2).
En la parte 2 de la imagen se ve el log donde el número es muy largo.
y en la parte 3 haciendo mis pruebas en php para ver que si funcionaba.
Al final la solución fue tratarlo como texto y separar 2 decimales al final.
El archivo modificado es en la raiz del modulo: modules/openpayprestashop/openpayprestashop.php
Bueno amigo eso es todo, espero que si alguien tenga este detalle le pueda servir.
Indagando en el log que ofrece OpenPay para el sandbox me encuentro con un numero con mas de 3 decimales '754.990000000000009094947017729282379150390625':
En la imagen siguiente se observa la función cardPayment donde se realiza el proceso, use la opción de (float),el round y tampoco, y menos la bcdiv($valor,'1',2).
En la parte 2 de la imagen se ve el log donde el número es muy largo.
y en la parte 3 haciendo mis pruebas en php para ver que si funcionaba.
El archivo modificado es en la raiz del modulo: modules/openpayprestashop/openpayprestashop.php
Bueno amigo eso es todo, espero que si alguien tenga este detalle le pueda servir.
Comentarios
Publicar un comentario