Support » Plugin: Pago por Redsys » Integrar TPV Pago con Redsys y Contact Form

  • Resolved ejercitopatoso

    (@ejercitopatoso)


    Buenos días,

    Ante todo, enhorabuena por crear un plugin que, es mi opinión, muchos de los que nos dedicamos a esto nos hace mucha falta. Todavía no he podido probarlo del todo porque no me han llegado los datos pero ya lo he integrado en mi página y modificado el CSS para que encaje más o menos. La web, como podrás ver, está en Mantenimiento todavía (estoy terminando de rellenar contenido). El objetivo es generar una web de una Academia de Estudios de Sueco. Ante el uso de tu plugin, me surge una pregunta:

    a. ¿Sería posible integrar el plugin, de alguna forma sencilla, con Contact Form 7? Tengo un formulario de matricula en cursos que quiero dar la opción de pagar desde el propio formulario. Así, quiero que el formulario actúe de una una de estas dos formas:
    1. los datos que se rellenen en el formulario, correspondientes a DNI y Precio del Curso, sean los datos que se envían al plugin.
    2. En el mismo formulario esté incrustrado el plugin de pago y esas casillas se rellenen en automático.

    ¿Cuál crees que es mejor opción? O mejor, ¿cuál recomiendas tú, como creador? Y en caso de poder realizarse, ¿como debería ser esa integración?

    Gracias por adelantado y enhorabuena.

    The page I need help with: [log in to see the link]

Viewing 13 replies - 1 through 13 (of 13 total)
  • Plugin Contributor Adrián de Grafreak

    (@adriandegrafreak)

    Hola @ejercitopatoso

    Muchas gracias por los comentarios. Disculpa que no haya podido responderte con la velocidad que querías, pero son unas fechas difíciles.

    El plugin no está preparado para ninguna de las opciones que indicas. Piensa que la información que se pide es la mínima que “exige” Redsys a la hora de hacer el pago.

    Lo único que puedes hacer es pedir que en numero de pedido pongan el DNI y el precio pasarlo tu por $_GET en la URL, así cada producto se rellenaría con el precio indicado.

    Esto serío así https://www.svenska-bcn.org/pagina-de-pago?c=90 donde 90 es el precio.

    Algo más complicado sería algo con JavaScript con el contact form 7 y el plugin de Redsys, donde vas autorellenando los campos o fuerzas a que el submit del contact form te haga el email y haga el submit del formulario.

    Espero que con esta respuesta puedas hacer lo que necesitas.
    Salut!

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Buenas Adrian,

    He conseguido que el formulario de matrícula (https://www.svenska-bcn.org/matricula) funcione y, al enviar el formulario, pase los parámetros por URL. Lo puedes hacer con el plugin de Redirection for CF7 (https://es.wordpress.org/plugins/wpcf7-redirect/). La URL quedaría de este estilo:

    https://www.svenska-bcn.org/pago-matricula/?nombre-completo=EMILIO%20JOSE%20FERNANDEZ&numero-documento=12345678A&tipo-de-curso=INTENSIVO

    Ahora me surge la duda: entiendo que para que estos valores se concatenen en los campos correspondientes, tengo que tocar el PHP del código, ¿es así? Es decir, para el ejemplo que tengo, los campos del formulario deberían ser:

    CÓDIGO DE PEDIDO: 12345678A-EMILIO JOSE FERNANDEZ-INTENSIVO
    CANTIDAD A PAGAR: 300 (dependería si es INTENSIVO, SEMESTRAL o ANUAL)

    Tampoco sé si es posible esa limitación en el campo del código de pedido.

    Un saludo y gracias de antemano.

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Buenas adriandegrafreak

    He conseguido hacer que funcione, correctamente, el plugin y el pago. He creado un código alfanumérico para cada transacción y el precio, que se envían al formulario de pago gracias al plugin de redireccion. Ahora me falta saber una cosa adicional.

    Quiero que al realizar el pago, no vuelva a la página original sino que vaya a la página de agradecimiento y, en caso de fallo, vuelva a la página de pago. ¿Cómo debería hacer esto? Entiendo que es con los shortcode, pero no sé donde los debería colocar.

    Igualmente, ¿como puedo personalizar esas páginas?

    La página desde donde podrías hacer una prueba es https://www.svenska-bcn.org/matricula-en-curso-intensivo/. Al rellenar los datos, te redirecciona a tu plugin. Pero tanto si va bien, como si es erróneo, se queda en la misma página.

    Un saludo.

    Plugin Contributor Adrián de Grafreak

    (@adriandegrafreak)

    Actualmente no está pensado para redirigir, tendrías que capturar el POST que te devuelve y hacerle tu la redirección.

    En un futuro la idea es tener campos para que la redirección sea directa, pero no te puedo dar fechas.

    Salut!

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    No se sí te he entendido bien… He visto en la documentación del plugin que existen los shortcode correspondientes para el pago OK y para el pago NOK. ¿Donde tendría que colocarlos? Por tu comentario, entiendo que en la misma web que el formulario, no?

    Un saludo.

    Plugin Contributor Adrián de Grafreak

    (@adriandegrafreak)

    Si, en la misma página y solo se verá en el caso de que sea ok o ko la transacción. Igualmente mediante hooks de WP podrías redirigirlo a la página que quisieras, pero en un futuro pondremos directamente para que vayan a la URL que se le marque.

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Pues ahí está mi problema. He puesto los códigos, pero no sé si es porque estoy en entorno de pruebas o que, pero me redirecciona a la misma página con el mismo formulario de pago… Voy a revisar a ver si he puesto mal los shortcode o algo así.

    Gracias por todo y, como hasta ahora, te mantengo informado.

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Mira, te cuento, por si me puedes terminar de ayudar. La web desde la que se realiza el pago es https://www.svenska-bcn.org/pago-matricula, a la que siempre se llamará con los parámetros de c y np rellenos.

    [pago_tpv][/pago_tpv]

    Con este shortcode, muestra el formulario. A continuación, el shortcode del pago correcto sería:

    [pago_tpv_ok]Tu pago se ha procesado correctamente. Bienvenido a SVENSKA![/pago_tpv_ok]

    Sin embargo, tras hacer toda la lógica del pago de RedSYS y pagar correctamente, la web vuelve al mismo punto con la tabla rellena pero no muestra el mensaje… ¿Que podría ser el problema?

    Si necesitas cualquier información, no dudes en pedirmela.

    Un saludo.

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Buenos días,

    Pues al final he conseguido una solución, modificando tu plugin que ha funcionado en mi web. El cambio consiste en lo siguiente:

    a. He generado dos paginas en mi wordpress (una de OK y otra de KO).
    b. En el código del plugin, en el fichero donde se definen los parámetros de la llamada a REDSYS, he forzado a que la URL_OK y la URL_KO, en vez de ser la misma de envío, sean cada una de las dos páginas que he generado.

    Lo he probado ya con dos clientes en entorno real y está funcionando. Plugin recomendable, relativamente fácil de configurar y que, con un poco de idea, te puede sacar de un aprieto.

    Un saludo para todos.

    Plugin Contributor Adrián de Grafreak

    (@adriandegrafreak)

    Hola @ejercitopatoso

    ¿Querrías compartir el código conmigo para aplicarle las mejoras?

    En un principio la idea principal será poner en el admin, las URLs de las redirecciones para que cada usuario envie al usuario a donde quiera. O generar unas CONSTANTS para hacerle override desde el wp-config.

    Ya me dices y enhorabuena por el workaround que le has dado al plugin. Me parece muy buena integración!!

    Thread Starter ejercitopatoso

    (@ejercitopatoso)

    Por supuesto, para mi es un placer ayudar a la Comunidad. El fichero modificado es el class-pago-redsys-grafreak-public.php, que se encontraría en la ruta /wp-content/plugins/pago-redsys-tpv-grafreak/public.

    Te envío el fichero por correo ahora mismo.

    Un saludo.

    ivanauskas82

    (@ivanauskas82)

    Hola

    He visto muy interesante vuestro hilo y querría hacer algo similiar. ¿como lo hicisteis al final?

    Plugin Contributor Adrián de Grafreak

    (@adriandegrafreak)

    Hola @ivanauskas82

    Todo se basa en el plugin
    https://es.wordpress.org/plugins/wpcf7-redirect/
    o con cualquier formualrio de contacto que permita la redirección y pasar parámtetros en la URL.

    Lo que haces es configurar que cuando el formulario se envia, te redirija a la página donde tengas el plugin de pago confgigurado, poniéndole en la URL los parámetros.
    https://es.wordpress.org/plugins/pago-redsys-tpv-grafreak/#%C2%BFpuedo%20pre-rellenar%20los%20campos%20para%20que%20el%20usuario%20s%C3%B3lo%20deba%20realizar%20el%20pago%3F

    Espero que puedas ponerlo en práctica.
    Salut!

Viewing 13 replies - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.