Support » Plugin: WooCommerce Redsys Gateway Light » Translatepress

  • Hola,
    He traducido mi página con el plugin Translatepress, por otro lado, utilizo tu plugin para procesar el pago.
    El pago para la página en español lo hace perfecto, el problema viene cuando intento realizar el pago desde la página de checkout traducida al inglés, cuando estoy en la pasarela de pago (accediendo desde xxxx.com/finalizar-compra/?lang=en) en la descripción del producto me aparece:
    Descripción producto: #!trpst#trp-gettext data-trpgettextoriginal=5684#!trpen#Pedido#!trpst#/trp-gettext#!trpen# 6761
    En lugar de
    Descripción producto: Pedido 6761
    Que aparece si llego desde xxxx.com/finalizar-compra
    Pero el problema es que los pedidos se quedan en “pendiente de pago”
    He intentado modificar el htaccess añadiendo una fila con el /?lang=en, sin éxito
    RewriteEngine on
    RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_redsys
    RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_redsys/?lang=en
    RewriteCond %{HTTPS} !=on [NC]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    Te agradeceré si me puedes echar una mano con este tema.
    Gracias

Viewing 15 replies - 1 through 15 (of 15 total)
  • Plugin Author Jose Conti

    (@jconti)

    Hola,

    ¿Cual es tu web?

    ¿Cuando vas a http://tuweb.com/?wc-api=WC_Gateway_redsys eres redirigido a https://tuweb.com/?wc-api=WC_Gateway_redsys?

    Sí, todos los temas que comentas en otros hilos ya los he solucionado, todo funciona bien, el problema viene con Translatepress, con la web traducida y al añadir /?lang=en en la URL no pasa bien ni la información del pedido ni la descripción a la pasarela de pago y se queda pendiente de pago.
    Podría se un problema de incompatibilidad entre ambos plugins?

    • This reply was modified 2 months, 2 weeks ago by mundial.
    Plugin Author Jose Conti

    (@jconti)

    Ok, pero hay una cosa que no es correcta (si es que el plugin lo está haciendo así).

    En la excepción pones:

    wc-api=WC_Gateway_redsys/?lang=en

    Esto es imposible, ya que son parámetros. Si los pasara correctos, debería quedar la URL así:

    http://tuweb.com/?wc-api=WC_Gateway_redsys&lang=en

    Y no así, que es como lo pones en el htaccess:

    http://tuweb.com/?wc-api=WC_Gateway_redsys/?lang=en

    y en cualquier caso, nunca debería poner nada ahí, ya que a esa dirección solo accede Redsys, nunca un usuario. Tal y como me pones que parece que la envía, te puede dar cualquier tipo de error.

    Creo que deberías hablar más con el desarrollador del plugin de traducción, y preguntarle sobre esta problemática. El sabe mejor cómo funciona su plugin, y el motivo de que pueda estar sucediendo esto, y es posible que te pueda guiar de cómo solucionarlo.

    Saludos
    José Conti

    mundial

    (@mundial)

    Hola Jose,

    Comenté el tema en el foro de Translatepress y también les aparece el bug, otros usuarios reportaban el mismo problema. Por lo que comentan no queda claro si el problema viene de ellos, ni lo han resuelto por el momento.
    Te importaría revisarlo para ver si el bug viene de ellos?
    Igual hay alguna manera de que no surja el error.

    Gracias!

    Plugin Author Jose Conti

    (@jconti)

    Bueno, es que no se me ocurre que pueda venir de otro…

    Esta dirección en lo que se llama un endpoint, y lo está creando WooCommerce. A WooCommerce se le dice, oye, necesito que me crees el endpoint «WC_Gateway_redsys» y crea el endpoint montando la URL http://tuweb.com/?wc-api=WC_Gateway_redsys (repito, esto no lo monta el plugin, lo monta WooCommerce), luego viene el plugin de traducción, y dicen, para que una URL se traduzca, vamos a poner siempre /?lang={idioma}. Y añade esto al endpoint, con lo que queda http://tuweb.com/?wc-api=WC_Gateway_redsys/?lang={idioma} con lo que provoca el error ya que es una URL no válida.

    ¿No tienen alguna forma de poner excepciones en el plugin?

    • This reply was modified 2 months ago by Jose Conti.

    Hola de nuevo José,

    Me comentan los desarrolladores de Translatepress que es posible añadir excepciones para que no las traduzca:
    https://translatepress.com/docs/developers/exclude-certain-text-or-element-from-being-translated/
    ¿Podría servir ésto para solucionar el problema?

    Gracias!

    Plugin Author Jose Conti

    (@jconti)

    Hola,

    Con lo que indicas no lo veo, ya que es para no traducir cadenas. Lo que debería hacer es no añadir el slug de idioma tras la URL, es decir, no tocar el «permanlink» de una URL creada por WooCommerce, que es la URL del callback del Gateway.

    mundial

    (@mundial)

    Hola Jose,

    He solucionado el tema del pendiente de pago, sólo he pasado de xxxx.com/?lang={idioma} a xxxx.com/idioma/ y funciona.

    Pero sigue pendiente que si llego desde xxxx.com/en/finalizar-compra en la descripción del producto de la pasarela de pagos del banco me aparece:
    Descripción producto: #!trpst#trp-gettext data-trpgettextoriginal=5684#!trpen#Pedido#!trpst#/trp-gettext#!trpen# 6761

    En lugar de
    Descripción producto: Pedido 6761
    Que aparece si llego desde xxxx.com/es/finalizar-compra
    Esto no sería un tema del endpoint, ya que utilizando el sistema de carpetas para el idioma ya monta bien la URL y el pedido se procesa.
    Dónde podría estar el problema? Se te ocurre alguna manera para que no se pase la descripción a Redsys? prefiero que no aparezca nada en el campo de descripción que una cadena larga de información extraña para el usuario.

    Muchas gracias!

    Plugin Author Jose Conti

    (@jconti)

    Perfecto,

    ¿Me podrías pasar una captura de lo que te refieres? La verdad es que no acabo de entender dónde sale lo que comentas.

    Saludos

    mundial

    (@mundial)

    Hola,

    Te adjunto link captura:
    https://bit.ly/2PR62Eg
    Gracias!

    • This reply was modified 1 month ago by mundial.
    • This reply was modified 1 month ago by mundial.

    Hola,
    Veo que el link ha caducado, prueba con este:
    https://ibb.co/zrcJYWb

    Gracias

    Plugin Author Jose Conti

    (@jconti)

    Hola,

    Ok, lo que sale ahí, se muestra por funciones de WooCommerce.

    Puedes ver la línea que lo genera aquí:

    https://plugins.trac.wordpress.org/browser/woo-redsys-gateway-light/tags/1.3.10/woocommerce-redsys.php#L638

    Puedes comentarle al desarrollador lo que sucede mostrándole el enlace que te pego para que el valore lo que sucede. En mi caso, solo pongo «Order» + el número generado por WooCommerce. Así que es algo del otro plugin y el debería mirar lo que sucede.

    Saludos

    Ok, gracias!
    Puedo eliminar la línea que comentas sin problemas? Si no consigo que me traduzca la descripción prefiero que no aparezca nada

    Plugin Author Jose Conti

    (@jconti)

    Eliminarla creo que no, pero creo que la puedes dejar en blanco, es decir:

    pasar de:

    $miobj->setParameter( 'DS_MERCHANT_PRODUCTDESCRIPTION', __( 'Order', 'woo-redsys-gateway-light' ) . ' ' . $order->get_order_number() );

    a

    $miobj->setParameter( 'DS_MERCHANT_PRODUCTDESCRIPTION','' );

    Tenlo en cuenta para futuras actualizaciones del plugin.

    Perfecto,
    He modificado la línea y parece que todo funciona bien.

    Muchas gracias!

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