:::: MENU ::::

Añadiendo un recargo por pagar con PayPal en Magento

Añadiendo un recargo por pagar con PayPal en Magento
4 votos, 4.25 media (80% puntos)

Es una de esas cosas misteriosas de Magento, que parecer ser el gran desconocido de todos los desarrolladores. Complejo como pocas cosas dentro de la, ya de por si, complejidad de la propia plataforma.

El calculo de los totales en Magento es my complejo debido a las múltiples combinaciones de configuración que permite, como por ejemplo mostrar los totales con o sin impuestos, aplicar impuestos diferentes según la combinación de tipo de cliente, tipo de producto, y/o dirección de facturación o envío.

Y hoy se ha presentado una de esas situaciones que parecía fácil de resolver, pero que al final te tienen enganchado toda la tarde investigando y pegándote con el debug.

La cuestión parecía sencilla cuando me han pedido añadir en su Magento un recargo del 3% para los pedidos realizados por PayPal… seguro que hay una extensión para esto he pensado… pues no… o al menos no como el cliente (y yo) la quería.

Extensión para añadir recargo por pagar con PayPal

La mejor aproximación que he encontrado es esta: http://www.magentocommerce.com/magento-connect/paypal-payment-fee.html

El problema es que añade un recargo a los totales de Magento, pero no tiene en cuenta los impuestos.  Es decir, añade una fila a los totales, pero no añade los correspondientes impuestos si los hay, con lo que si echas cuentas sobre una factura generada con ese recargo, los totales no cuadran.

Creando una extensión propia con un nuevo total en Magento

Así que ha tocado “remangarse” y bajar a los infiernos de clases y herencias que forman el core de Magento para esta parte del código.

Como os terminará doliendo la cabeza si lo pongo en un solo post, lo voy a dosificar y lo podré por partes, siendo el resumen de lo que hay que hacer, el siguiente:

El resultado final

Al final de las tres partes anteriores (suponiendo que algún día tenga tiempo para escribirlos ;)  tendréis un extensión que mostrará el recargo correspondiente tal y como se ve en la siguiente imagen:

Recargo PayPal en Magento

 




2 Comments

  • Responder Alejandro |

    Hola,
    es muy interesante y bueno tu articulo, estoy intentando hacer lo mismo y me base en la extension que comentas el Payment_fee, solo que lo modifique para todos los pagos, pero en paypal me lo rechaza por que no concide el total con la suma de los valores, segun paypal, pyuedo manegar este cargo extra como un carto de tramitación y me indica que lo tengo que agregar en “handling”, pero no he podido, tu sabras algo al respecto, como agregar un parametro a paypal desde mangento.

    Saludos
    CDMX

Hey! Qué opinas sobre el artículo?