Pago pendiente la compra no conecta con WC
-
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]
-
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
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
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.
Ok, genial, gracias.
Luego te paso el htaccess y me dices que regla y donde ponerla?
Ok, perfecto.
Cuando puedas pásame el htaccess, y te digo cómo a?adir la redirección.
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 vttHola, perdona la insistencia, es que me urge un poquillo la tienda.
Alguna idea?
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.
Muchas gracias!
De nada,
Pruebas y me comentas a ver.
Saludos
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.
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?
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.
-
This reply was modified 6 years ago by
- The topic ‘Pago pendiente la compra no conecta con WC’ is closed to new replies.