RedSys & Bizum Gateway for Contact Form 7

Sumar, multiplicar y otras operaciones disponibles con nuestro plugin para RedSys y Contact Form 7

Cuando lanzamos nuestro plugin para permitir enviar pagos a RedSys con Contact Form 7 teníamos clara una cosa: el plugin debía permitir entre dos opciones:

  • Que el usuario que va a hacer el pago decidiera cuánto iba a pagar rellenándolo él, a través de un campo de CF7. Un ejemplo sería un formulario para el pago de una factura donde el cliente dice qué factura va a pagar e indica el importe.
  • Que el administrador de la web fije un precio y el usuario no pueda modificarlo. Ejemplo de esto segundo sería por ejemplo un formulario del pago de una matrícula, donde siempre la matrícula tenga el mismo valor.

Pasó el tiempo, llegaron más clientes y con ellos, en un plugin tan abierto como este, más feedback y más recomendaciones. Incluimos el pago basado en seletores y usando el método de clave-valor que aquí explicamos, permitimos que el usuario pudiera elegir una opción de un selector que no fuera un número, pero que esa opción estuviera relacionada con un número, os doy un ejemplo.

En un selector aparecen 2 opciones: «Matrícula (100€)», «Matrícula + material (150€)». Pues con el método que explicamos arriba puedes poner en cada opción:

  • Matrícula (100€)|100
  • Matrícula + material (150€)|150

El usuario verá lo primero y se le cobrará lo segundo, de forma que podéis hacer selectores de tipo radio o lista, con títulos explicativos sin tener que usar solo números.

Sumas, multiplicaciones y otras operaciones

Luego llegaron clientes que necesitaban sumas, y las implementamos, pero de forma algo precaria. Así que el otro día, me líe la manta a la cabeza y las versiones más recientes soportan operaciones matemáticas de cualquier tipo.

Como nota técnica deciros que no uso la función eval porque esa función más de uno sabe que puede llegar a tener problemas de seguridad, así que como miramos mucho por no dejar ninguna puerta abierta, usamos un evaluador matemático independiente.

¿Y qué podemos hacer? Básicamente lo que queráis, mientras respetéis la sintaxis, en el campo importe podéis hacer:

  • Sumar varios campos: [campo-a]+[campo-b]+[campo-c]
  • Igual para multiplicar: [campo-a]*[campo-b]*[campo-c]
  • Usar paréntesis para ordenar la preferencia: de operaciones: ([campo-a]+[campo-b])*[campo-c]

Y todo lo que os se os ocurra. ¿Y quién puede querer hacer operaciones matemáticas como multiplicar aquí? Pues he visto ejemplos de varios tipos, pero uno muy obvio es el típico formulario donde se ofrecen una serie de productos o servicios y vais rellanando cuántas cantidades queréis de cada uno de forma que podríais hacer directamente:

[unidades-producto-a]*50+[unidades-producto-b]*40+[tipo-envio]

Como veis se abren muchas posibilidades, así que nada, seguid pendientes de este blog que iremos anunciando todas las nuevas funcionalidades que vayamos agregando a este y a otros plugins.

Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Francisco Javier Carazo Gil

Ver comentarios

  • Ya, es para comercio.
    Quería algo así:

    Un número:

    125896
    Y que sume así:
    1+2+5+8+9+6 = 31 = 3+1 = 4

    • Pero eso no es una operación estándar.

      Aún así, creo que ya hay un filtro (o si no lo hay lo preparo en un momento) para que puedas tú mismo codificar en PHP esa operación no estándar que comentas.

      O si no sabes cómo, te podemos dar presupuesto para hacerlo si ya eres cliente.

  • Hola.
    Quería hacer con su plugin, Sumar dígitos de un número entero. Pero no sé cómo hacerlo. ¿Podrían ayudarme?
    Gracias.

    • Perdona pero no entiendo bien tu pregunta.

      Este plugin permite operaciones en el campo precio así que podrías hacer cosas así:

      [unidades]*[precio_unidad]+100

      Por ejemplo.

Entradas recientes

RedSys para Contact Form 7 ahora acepta preautorizaciones

RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…

hace % días

Ordenar productos de forma diferente por cada categoría en WooCommerce

WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…

hace % días

Evitar que se instalen los temas por defecto de WordPress cada vez que actualizas el núcleo

Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…

hace % días

Pantalla LCD: ¿qué es?

Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…

hace % días

Flujos de pago con Gravity Flow y RedSys

De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…

hace % días

CMS, ¿Qué es y qué ventajas tiene?

Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…

hace % días