Jump to content

Botón PayPal.me en email.confirmation [Resuelto]


Eutanasio

Recommended Posts

Buenas,

Necesito insertar un botón de pago en el email order_confirmation utilizando un link de PayPal.me.
La cuestión es que la divisa en mi web no está soportada por PayPal, por lo que al valor total del pedido {total_paid} hay que dividirlo por la tasa de conversión antes de incluirlo en el href del enlace de PayPal, algo así:

$value_eur = '{total_paid}/2.5';
echo "<a href='https://PayPal.Me/DiaRusso/".$value_eur."EUR'>PayPal</a>";

Ya sé que está mal, pero para que me entiendan

Gracias

Edited by omar2886
explicación simplificada (see edit history)
Link to comment
Share on other sites

EDITADO

classes/PaymentModule.php

En la function validateOrder, se añade antes del array  $data

$euroCurrencyId = 3; // Euro (€) id currency in your instalation
$currencyEur = new Currency($euroCurrencyId);
$totalPaidEur = number_format($order->total_paid / $currencyEur->conversion_rate, 2, '.', '');

Después ya dentro del array $data, se añade:

'{paypal_url}' => 'https://PayPal.Me/DiaRusso/'.$totalPaidEur.$currencyEur->iso_code,

Luego  ya solo faltaría añadir el enlace en la plantilla del email enviado,

themes/tu_tema/mails/es/order_conf.html

Así por ejemplo:

 <a href="{paypal_url}" target="_blank" style="color: #25B9D7; text-decoration: underline; font-weight: 600;">Paypal</a>

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, ventura said:

 


classes/PaymentModule.php

En la function validateOrder, se añade antes del array  $data


$euroCurrencyId = 3; // Euro (€) id currency in your instalation
$currencyEur = new Currency($euroCurrencyId);
$totalPaidEur = number_format($order->total_paid / $currencyEur->conversion_rate, 2, '.', '');

Después ya dentro del array $data, se añade:


'{paypal_url}' => 'https://PayPal.Me/DiaRusso/'.$totalPaidEur.$currencyEur->iso_code,

Luego  ya solo faltaría añadir el enlace en la plantilla del email enviado,


themes/tu_tema/mails/es/order_conf.html

Así por ejemplo:


 <a href="{paypal_url}" target="_blank" style="color: #25B9D7; text-decoration: underline; font-weight: 600;">Paypal</a>

 

Muchas gracias por la respuesta! pero tras muchas pruebas, no consigo que el nuevo texto insertado en el código del template del email tenga un enlace, parece que no detecta el href. Así es como carga dicho código en el email que llega:

<a style="color:#25b9d7;text-decoration:underline;font-weight:600">PayPal</a>

No hay HREF

Link to comment
Share on other sites

Por cierto, así es como he insertado el código que me pasaste @ventura

                    // Send an e-mail to customer (one order = one email)
                    if ($id_order_state != Configuration::get('PS_OS_ERROR') && $id_order_state != Configuration::get('PS_OS_CANCELED') && $this->context->customer->id) {
                        $invoice = new Address((int) $order->id_address_invoice);
                        $delivery = new Address((int) $order->id_address_delivery);
                        $delivery_state = $delivery->id_state ? new State((int) $delivery->id_state) : false;
                        $invoice_state = $invoice->id_state ? new State((int) $invoice->id_state) : false;
                        $carrier = $order->id_carrier ? new Carrier($order->id_carrier) : false;
						$euroCurrencyId = 3; // Boton pagar con PayPal en email order_conf
						$currencyEur = new Currency($euroCurrencyId); // Boton pagar con PayPal en email order_conf
						$totalPaidEur = number_format($order->total_paid / $currencyEur->conversion_rate, 2, '.', ''); // Boton pagar con PayPal en email order_conf

                        $data = array(
							'{paypal_url}' => 'https://PayPal.Me/RockMa/'.$totalPaidEur.$currencyEur->iso_code, // Boton pagar con PayPal en email 

 

  • Like 1
Link to comment
Share on other sites

8 hours ago, ventura said:

 


classes/PaymentModule.php

En la function validateOrder, se añade antes del array  $data


$euroCurrencyId = 3; // Euro (€) id currency in your instalation

 

Revisa esa parte para que corresponda con la id del currency EUR,

Link to comment
Share on other sites

el ID es correcto, lo he comprobado incluso en la BD. Eso sí, como no aceptamos más que la moneda local, esta divisa está desactivada en el admin, no sé si eso importa (no puedo activarla porque no tengo intención de aceptar pagos en divisa salvo para este botón de PayPal).

Link to comment
Share on other sites

  • Eutanasio changed the title to Botón PayPal.me en email.confirmation [Resuelto]

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