Jump to content

El error en el proceso de verificación del pago con transferencia (página en blanco)


Joscasan

Recommended Posts

Me he encontrado con que el fallo en Prestashop 1.7.6.1 que se genera cuando se va a proceder a finalizar el pedido, nos lleva a una página en blanco sin información, lo provoca algún fallo en el archivo Mail.php de classes. Estoy perdido y lo que he visto por ahí no ha funcionado.  Les dejo captura del error que veo al tener activado el modo debug o depuración.  También les dejo el la línea de código del Mail.php donde dice que está el fallo.  A ver si alguien me ayuda.  Estos fallos antes no aparecían, me refiero en versiones anteriores, al menos a mí.  De repente al haber cambiado a la 1.7.6.1 nos deja colgados a nosotros y a nuestros clientes.

 

Aquí el error que detecta en la línea 901

 

/**
     * Automatically convert email to Punycode.
     *
     * Try to use INTL_IDNA_VARIANT_UTS46 only if defined, else use INTL_IDNA_VARIANT_2003
     * See https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003
     *
     * @param string $to Email address
     *
     * @return string
     */
    public static function toPunycode($to)
    {
        $address = explode('@', $to);
        if (empty($address[0]) || empty($address[1])) {
            return $to;
        }

        if (defined('INTL_IDNA_VARIANT_UTS46')) {
            return $address[0] . '@' . idn_to_ascii($address[1], 0, INTL_IDNA_VARIANT_UTS46);
        }

        /*
         * INTL_IDNA_VARIANT_2003 const will be removed in PHP 8.
         * See https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003
         */
        /*if (defined('INTL_IDNA_VARIANT_2003')) {
            return $address[0] . '@' . idn_to_ascii($address[1], 0, INTL_IDNA_VARIANT_2003);
        }*/

        return $address[0] . '@' . idn_to_ascii($address[1]);  //EL ERROR LO DA EN ESTA LÍNEA, QUE ES LA 901
    }

 

Y aquí el de la 323, que está relacionado con la 901 y el Punycode.

 

else {
            /* Simple recipient, one address */
            $toPlugin = $to;
            $toName = (($toName == null || $toName == $to) ? '' : self::mimeEncode($toName));
            $message->addTo(self::toPunycode($to), $toName);  // LÍNEA 323
        }

Me imagino que lo que pasa en la línea 901 afecta al resto, pero me pierdo ahí.  Espero la solución a este grave inconveniente por parte de Prestashop. Y veo que hay muchos usuarios que tienen el mismo problema y no lo han solucionado.

 

Muchas gracias y buen día para todos.

28537292_Screenshot_2019-11-14httpswwwbatjucosmeticcom.thumb.png.ef0518d591dd97884814b38213768a99.png

Mail.php

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...