Jump to content

Problema con Mailalerts


Mirhiam

Recommended Posts

Buenos días.

Tengo problemas con el módulo de MailAlerts, dado que no envia al admin el correo de que alguien ha comprado. Solo falla con un método de compra.

Para debugear que pasaba he hecho la siguiente prueba:

En PaymentModule.php de prestashop, justo despues de
....
                    // Hook validate order
                    Hook::exec('actionValidateOrder', array(
                        'cart' => $this->context->cart,
                        'order' => $order,
                        'customer' => $this->context->customer,
                        'currency' => $this->context->currency,
                        'orderStatus' => $order_status
                    ));

                    $to = '[email protected]';
                    $tittle    = 'Test de Redsys';
                    $messaje   = 'params cart:'.$this->context->cart->id.' order:'.$order->id.' customer:'.$this->context->customer->id.' currency:'.$this->context->currency->id.' orderStatus:'.$order_status->id . ' Payment_method:'.$payment_method;
                    $cabeceras = 'From: [email protected]' . "\r\n" .
                        'Reply-To: [email protected]' . "\r\n" .
                        'X-Mailer: PHP/' . phpversion();
                    mail($to , $title, $messaje, $cabeceras);
...

Luego, en el módulo de mail alerts, en mailalerts.php:

    public function hookActionValidateOrder($params)
    {
        $to = '[email protected]';
        $title= 'Test de Redsys';
        $messaje= 'starting method hookActionValidateOrder';
        $cabeceras = 'From: [email protected]' . "\r\n" .
            'Reply-To: [email protected]' . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
        mail($to , $titulo, $title, $messaje);

        if (!$this->_merchant_order || empty($this->_merchant_mails)){
            return;
        }
...

La cosa es, para cualquier método de pago, el primer mail me llega correctamente, y con todos los valores seteados bien.
Pero para un método de pago, (Redsys, tarjeta de crédito) el segundo no me llega, solo me llega el primero (y obviamente mailalerts no envia nada).
Obviamente no está haciendo el hook para el metodo de pago con tarjeta, pero no se por que pasa ni como solucionarlo.

Ya he probado a descactivar ambos modulos y volver a activarlos y alguna prueba más, pero no doy con la tecla. 

Redsys se desentiende bastante del tema, me he puesto en contacto con ellos, y comentan (creo que con razón) que si me está llegando a el PaymentModule y me envía el primer mail, ya no es cosa suya... .

¿Alguien sabe por que puede estar pasando esto?

Link to comment
Share on other sites

Efectivamente, con trasferencia bancaría me llegan los dos mails:

 

Mail1:

params cart:700 order:168 customer:317 currency:1 orderStatus:10 Payment_method:Trasferencia bancaria

 

Mai2:

comienza metodo hookActionValidateOrder

Y con Redsys:

 

Solo recibo el mail 1:

params cart:618 order:145 customer:2349 currency:1 orderStatus:2 Payment_method:Redsys

la version de mailalerts es la 3.2.8, y no nos pone en el Back que tengamos actualizaciones pendientes

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...