Jump to content

(SOLUCIONADO) Forma de pago en funcion del importe


Recommended Posts

Saludos a tod@s,

 

Estoy desarrollando una tienda y necesitaria poder limitar la forma de pago en funcion del precio final de la compra. Creo que lo explico mejor con un ejemplo:

 

Si el precio final es inferior a 50€ al cliente le aparecen 2 formas de pago (transferencia y paypal).

Si el precio es mayor de 50€ al cliente le aparecen 3 formas de pago (transferencia, paypal y contrarrembolso).

 

Alguien sabria como poder realizar esto?

 

Muchas gracias de antemano.

Edited by betisimo76 (see edit history)
Link to comment
Share on other sites

Gracias por responder JoseAntGV. Efectivamente, lo que se puede hacer es modificar el modulo que quieres "ocultar" cuando el total esta fuera del rango que te interese.

 

Buscando y buscando encontre el siguiente codigo. que habria que poner dentro del modulo a ocultar en su funcion hookPaymentReturn

 

 

public function hookPaymentReturn($params)

{

if (!$this->active)

return;

if ($params['cart']->id_currency == 1 && $params['cart']->getOrderTotal() > 200)

return;

 

if ($params['cart']->id_currency == 2 && $params['cart']->getOrderTotal() > 150)

return;

 

De esta forma conseguimos que el modulo no solo evalue la cantidad, sino tambien la moneda, ya que no es lo mismo 200 USD que 200 €.

 

Gracias a todos.

 

PD: Como hago para poner el tema SOLUCIONADO?

Edited by betisimo76 (see edit history)
Link to comment
Share on other sites

Gracias por responder JoseAntGV. Efectivamente, lo que se puede hacer es modificar el modulo que quieres "ocultar" cuando el total esta fuera del rango que te interese.

 

Buscando y buscando encontre el siguiente codigo. que habria que poner dentro del modulo a ocultar en su funcion hookPaymentReturn

 

 

public function hookPaymentReturn($params)

{

if (!$this->active)

return;

if ($params['cart']->id_currency == 1 && $params['cart']->getOrderTotal() > 200)

return;

 

if ($params['cart']->id_currency == 2 && $params['cart']->getOrderTotal() > 150)

return;

 

De esta forma conseguimos que el modulo no solo evalue la cantidad, sino tambien la moneda, ya que no es lo mismo 200 USD que 200 €.

 

Gracias a todos.

 

PD: Como hago para poner el tema SOLUCIONADO?

 

Estimado betisimo76,

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

 

PD: Por cierto, si tienes tiempo libre (sin obligacion), estas invitado a publicar el aporte en la sección de aportes: http://www.prestashop.com/forums/index.php?/forum/168-modulos-gratis-sobrecargas-y-otras-astucias-que-cambian-la-vida/

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...