• cristiantwob

    (@cristiantwob)


    Hola, buen dia.

    El plugin todo genial, su funcionamiento ok, pero a la hora de enviar los datos de la orden a woocommerce no se establece la comunicación.

    Seguramente es debido al certificado SSL instalado, es COMODO RSA. No tengo ningun plugin SSL ni de seguridad instalados.

    La opción en el plugin Activate SNI Compatibility esta desactivada, igual probe con activarla y tampoco.

    En mi sitio de pruebas que no tiene certificado SSL si que envía la información a la orden.

    En el log de WC esta enviando la data aqui:

    DS_MERCHANT_MERCHANTURL: https://wolvesworkshop.com/?wc-api=WC_Gateway_redsys

    Supongo que al enviarla sin https ahi es donde se genera el problema.

    He intentado solucionarlo con algunas de las respuestas anteriores relacionadas con este tema pero no me aclaro del todo, no se si debo modificar algo en mi server o en el htaccess.

    Te agradecería mucho si puedes enviarme una solución.

    Gracias!

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

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

    (@jconti)

    Hola,

    Si la compatibilidad con SNI está desactivada, se debería enviar https, asegúrate que la compatibilidad con SNI está desactivada. Te avanzo que Redsys tiene problemas con alguno de los certificados que ofrece Comodo, o cómo mínimo los tenía.

    En cualquier caso, el problema es que hay un redireccionamiento de http a https. Si necesitas la compatibilidad con SNI (que es posible al ser Comodo), debes desactivar esta redirección. Si no tienes ningún plugin que la realice, puede que la estés haciendo el servidor. Si no estás seguro, puedes preguntar al hosting si está realizando esta redirección, y si la hace, cómo desactivarla.

    También puede ser que tengas el redireccionamiento en el htaccess, que en este caso habría que a?adir una excepción.

    Pega aquí por favor el contenido del .htaccess para ver que hay.

    Saludos

    Thread Starter cristiantwob

    (@cristiantwob)

    Hola, gracias por tu respuesta, ahora mismo no tengo acceso al htaccess, pero te dejo la configuración del sitio en el server.

    wolvesworkshop
    WebXXX – ?XXXXXXXXX Gzip enabled
    Security
    HTTPS, using wolvesworkshop
    Domains
    https://wolvesworkshop.com
    Apps
    wolvesworkshop_public_html_link (Symbolic on /)

    wolvesworkshop_http
    WebXXX – ?XXXXXXXXX Gzip enabled
    Security
    None
    Domains
    https://wolvesworkshop.com
    https://www.wolvesworkshop.com
    Apps
    redirect_to_https (Static/CGI/PHP on /)

    wolvesworkshop_www
    WebXXX – ?XXXXXXXXX
    Security
    HTTPS, using wolvesworkshop
    https://www.wolvesworkshop.com
    Apps
    redirect_to_nowww (Static/CGI/PHP on /)

    Espero que te sirva con esto, sino mas tarde te envio el htaccess.

    Muchas gracias

    Plugin Author Jose Conti

    (@jconti)

    Hola,

    Si, aquí está el problema, es este bloque. Este bloque redirecciona de http a https.

    wolvesworkshop_http
    WebXXX – ?XXXXXXXXX Gzip enabled
    Security
    None
    Domains
    https://wolvesworkshop.com
    https://www.wolvesworkshop.com
    Apps
    redirect_to_https (Static/CGI/PHP on /)

    Deberías desactivar esto, y lo que haremos es poner una regla en el htaccess que te realizará igual la redirección, solo que con una excepción para la dirección de comunicación de Redsys.

    Thread Starter cristiantwob

    (@cristiantwob)

    Ok, genial, gracias.

    Luego te paso el htaccess y me dices que regla y donde ponerla?

    Plugin Author Jose Conti

    (@jconti)

    Ok, perfecto.

    Cuando puedas pásame el htaccess, y te digo cómo a?adir la redirección.

    Thread Starter cristiantwob

    (@cristiantwob)

    Hola de nuevo, ahi te lo paso:

    # ———————————————————————-
    # PHP errors (turn off after launch)
    # ———————————————————————-

    #php_flag display_startup_errors on
    #php_flag display_errors on
    #php_flag html_errors on

    # ———————————————————————-
    # PHP max file upload size
    # ———————————————————————-

    #php_value upload_max_filesize 8M
    #php_value post_max_size 8M
    #php_value max_execution_time 300
    #php_value max_input_time 300

    # ———————————————————————-
    # Rewrites / permalinks
    # ———————————————————————-

    # ———————-
    # BEGIN WordPress

    <IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    # ———————-

    # ———————————————————————-
    # WordPress security
    # ———————————————————————-

    # protect the htaccess file

    <files .htaccess>
    order allow,deny
    deny from all
    </files>

    # protect wpconfig.php

    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    # protect scss files

    <FilesMatch “\.(?:scss)$”>
    Order allow,deny
    Deny from all
    </FilesMatch>

    # ———————————————————————-
    # 301 redirects
    # ———————————————————————-

    # redirect 301 /this/page https://www.mixd.co.uk/to/here
    # RedirectMatch 301 ^/containing.*$ https://www.mixd.co.uk/to/here

    # ———————————————————————-
    # Gzip compression
    # ———————————————————————-

    <IfModule mod_deflate.c>

    # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
    <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding “gzip,deflate” env=HAVE_Accept-Encoding
    </IfModule>
    </IfModule>

    # Compress all output labeled with one of the following MIME-types
    <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml \
    application/javascript \
    application/json \
    application/rss+xml \
    application/vnd.ms-fontobject \
    application/x-font-ttf \
    application/xhtml+xml \
    application/xml \
    font/opentype \
    image/svg+xml \
    image/x-icon \
    text/css \
    text/html \
    text/plain \
    text/x-component \
    text/xml
    </IfModule>

    </IfModule>

    # ———————————————————————-
    # Expires headers (for better cache control)
    # ———————————————————————-

    # These are pretty far-future expires headers.
    # They assume you control versioning with filename-based cache busting
    # Additionally, consider that outdated proxies may miscache
    # https://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

    # If you don’t use filenames to version, lower the CSS and JS to something like
    # “access plus 1 week”.

    <IfModule mod_expires.c>
    ExpiresActive on

    # Perhaps better to whitelist expires rules? Perhaps.
    ExpiresDefault “access plus 1 month”

    # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
    ExpiresByType text/cache-manifest “access plus 0 seconds”

    # Your document html
    ExpiresByType text/html “access plus 1 week”

    # Data
    ExpiresByType text/xml “access plus 0 seconds”
    ExpiresByType application/xml “access plus 0 seconds”
    ExpiresByType application/json “access plus 0 seconds”

    # Feed
    ExpiresByType application/rss+xml “access plus 1 hour”
    ExpiresByType application/atom+xml “access plus 1 hour”

    # Favicon (cannot be renamed)
    ExpiresByType image/x-icon “access plus 1 week”

    # Media: images, video, audio
    ExpiresByType image/gif “access plus 1 month”
    ExpiresByType image/png “access plus 1 month”
    ExpiresByType image/jpeg “access plus 1 month”
    ExpiresByType video/ogg “access plus 1 month”
    ExpiresByType audio/ogg “access plus 1 month”
    ExpiresByType video/mp4 “access plus 1 month”
    ExpiresByType video/webm “access plus 1 month”

    # HTC files (css3pie)
    ExpiresByType text/x-component “access plus 1 month”

    # Webfonts
    ExpiresByType application/x-font-ttf “access plus 1 month”
    ExpiresByType font/opentype “access plus 1 month”
    ExpiresByType application/x-font-woff “access plus 1 month”
    ExpiresByType image/svg+xml “access plus 1 month”
    ExpiresByType application/vnd.ms-fontobject “access plus 1 month”

    # CSS and JavaScript
    ExpiresByType text/css “access plus 1 week”
    ExpiresByType application/javascript “access plus 1 week”

    </IfModule>

    # ———————————————————————-
    # Better website experience for IE users
    # ———————————————————————-

    # Force the latest IE version, in various cases when it may fall back to IE7 mode
    # github.com/rails/rails/commit/123eb25#commitcomment-118920
    # Use ChromeFrame if it’s installed for a better experience for the poor IE folk

    <IfModule mod_headers.c>
    Header set X-UA-Compatible “IE=Edge,chrome=1”
    # mod_headers can’t match by content-type, but we don’t want to send this header on *everything*…
    <FilesMatch “\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$” >
    Header unset X-UA-Compatible
    </FilesMatch>
    </IfModule>

    # ———————————————————————-
    # Webfont access
    # ———————————————————————-

    # Allow access from all domains for webfonts.
    # Alternatively you could only whitelist your
    # subdomains like “subdomain.example.com”.

    <IfModule mod_headers.c>
    <FilesMatch “\.(ttf|ttc|otf|eot|woff|font.css)$”>
    Header set Access-Control-Allow-Origin “*”
    </FilesMatch>
    </IfModule>

    # ———————————————————————-
    # UTF-8 encoding
    # ———————————————————————-

    # Use UTF-8 encoding for anything served text/plain or text/html
    AddDefaultCharset utf-8

    # Force UTF-8 for a number of file formats
    AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

    # ———————————————————————-
    # Proper MIME type for all files
    # ———————————————————————-

    # JavaScript
    AddType application/javascript js jsonp
    AddType application/json json

    # Audio
    AddType audio/ogg oga ogg
    AddType audio/mp4 m4a f4a f4b

    # Video
    AddType video/ogg ogv
    AddType video/mp4 mp4 m4v f4v f4p
    AddType video/webm webm
    AddType video/x-flv flv

    # SVG
    AddType image/svg+xml svg svgz
    AddEncoding gzip svgz

    # Webfonts
    AddType application/vnd.ms-fontobject eot
    AddType application/x-font-ttf ttf ttc
    AddType font/opentype otf
    AddType application/x-font-woff woff

    # Assorted types
    AddType image/x-icon ico
    AddType image/webp webp
    AddType text/cache-manifest appcache manifest
    AddType text/x-component htc
    AddType application/xml rss atom xml rdf
    AddType application/x-chrome-extension crx
    AddType application/x-opera-extension oex
    AddType application/x-xpinstall xpi
    AddType application/octet-stream safariextz
    AddType application/x-web-app-manifest+json webapp
    AddType text/x-vcard vcf
    AddType application/x-shockwave-flash swf
    AddType text/vtt vtt

    Thread Starter cristiantwob

    (@cristiantwob)

    Hola, perdona la insistencia, es que me urge un poquillo la tienda.

    Alguna idea?

    Plugin Author Jose Conti

    (@jconti)

    Estaba con unas reuniones.

    Desactivando lo anterior, ya te debería funcionar.

    Ahora, para la redirección, solo debes a?adir

    # REDIRECCION CERTIFICADO SSL
    RewriteEngine on
    RewriteCond %{QUERY_STRING} !^wc-api=WC_Gateway_redsys
    RewriteCond %{HTTPS} !=on [NC]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    # END SSL

    Justo antes de # BEGIN WordPress

    Con esto, ya no deberías tener problemas si no tienes nada que bloque a Redsys, como anti bots por ejemplo.

    Saludos

    • This reply was modified 6 years ago by Jose Conti.
    • This reply was modified 6 years ago by Jose Conti.
    Thread Starter cristiantwob

    (@cristiantwob)

    Muchas gracias!

    Plugin Author Jose Conti

    (@jconti)

    De nada,

    Pruebas y me comentas a ver.

    Saludos

    Thread Starter cristiantwob

    (@cristiantwob)

    Hola, ya lo he probado, al pegar la redirección la web deja de funcionar y el browser dice too many redirects.

    Alguna vez había pasado? Ya me dices algo ma?ana si puedes.

    Gracias.

    Plugin Author Jose Conti

    (@jconti)

    Nunca la verdad. Este código lo usan miles de personas, ya que es el que a?ade Really Simple SSL, solo que con la peque?a modificación de la excepción de la dirección para Redsys, pero también lo usan miles de personas, ya que es el mismo para este, el gratuito, y para la versión Premium de WooCommerce.com, así que no se muy bien que debe estar sucediendo.

    Es cómo si tuvieras algo que forzara ir a http, y el código forzara ir a https, con lo que ahí se produce el loop.

    En el código del htaccess que has puesto, no hay nada que produzca este redireccionaiento a http.

    Si no pones el código en el htaccess que te he dicho y pruebas a ir a la dirección de tu web con https delante, ?te redirecciona a http?

    Thread Starter cristiantwob

    (@cristiantwob)

    Buen día, si, seguramente sea algo en mi server o en mi código, porque en la pagina de pruebas que es http sin certificado y usa otro server funciona perfecto.

    Sin el código con https no redirecciona a http.

    Hoy lo intentare de nuevo a ver que.

    Gracias Jose.

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Pago pendiente la compra no conecta con WC’ is closed to new replies.