Podemos restringuir las formas de pago según las zonas en las que se hagan los pedidos. Pues no es lo mismo pedidos de la península como pedídos en las islas, ceuta o melilla.
Para solucionar la restricción de las formas de pago según las zonas se puede hacer lo siguiente:
Se debe modificar el código en el archivo .php de cada módulo de método de pago que se quiera restringir. Haría falta incluir en el hook las siguientes líneas:
public function hookPayment($params)$id_zone = Address::getZoneById((int)$this->context->cart->id_address_delivery);if ($id_zone == 9)return;
Este código que exluirá la aparición del módulo, por ejemplo, en la zona con id=9.
Con este codigo accedemos a la función de la clase AddressgetZoneById, que detecta la id de la zona a la que corresponde una dirección en función del parámetro $id_address, parámetro que en este caso se le asigna corresponde a la id de la dirección de entrega, incluida en la clase Cart, en el carrito de compra.
Es posible que existan otras soluciones para restringir las formas de pago por zonas, dependiendo de la instalación o configuraciones de su Prestashop. Si desea un mayor asesoramiento para la restricción de formas de pago por zonas en su tienda online no dude en contactar con nosotros para un mejor diagnóstico.
Descubre nuestros últimos consejos creados en el blog.
Si ya ha pasado la fase de crear su tienda online, podemos ayudarle a mejorar con nuestra auditoría.
CACERES: C/ Gabino Muriel 3, 1A
Azuaga: Avd. de la Estación 32
SEVILLA: Avd. Eduardo Dato 69, 5º Planta (edif. Galia)
Cáceres: 927 26 10 71
Azuaga: 924 89 15 94
Sevilla: 954 32 35 66
Comercial L-V: 9:00 - 15:00
Soporte L-V: 8:00 y 24:00
Urgencias: 24h los 365 días.