Tpv Servired sha 256

Pagos, Módulos de Envío, imágenes etc...
Reglas del Foro
http://www.comercianos.com/reglas-del-foro-t61.html

Realizad siempre una copia de seguridad antes de realizar modificaciones. Realizad las modificaciones bajo vuestra responsabilidad, comercianos no sera responsable en ningun caso de los errores o perdidas que pudieran producirse.

Re: Tpv Servired sha 256

Notapor figue » Sab Oct 15, 2016 7:16 pm

figue
Moderador Global
 
Mensajes: 873
Registrado: Mié Feb 09, 2011 8:48 pm
Ubicación: Córdoba

Anuncio

web_empresa

Re: Tpv Servired sha 256

Notapor BeLiPoWa » Mar Oct 18, 2016 9:15 pm

Buenas, llevo un par de días probando todo lo que comentáis en el hilo y no he conseguido que desaparezcan los productos del carrito ni que los pedidos realizados me aparezcan en el listado de pedidos.

Estoy usando osCommerce 2.2 RC2 con PHP 5.3.29.

He probado la versión modificada de figue y los cambios de danilovic y nada.

Ahora mismo tengo los ficheros originales de la web de Redsys y el checkout_process.php original de la 2.2 RC2.

En Sessions todo a False

En Redsys tengo la siguiente configuración:

Con notificación ON-LINE: HTTP + Email Comercio
Síncrona
URL OK: http://xxxxx.com/checkout_process.php
URL KO: http://xxxxx.com/checkout_process.php

¿Qué más información os puedo dar para que podáis ayudarme?

Gracias de antemano.

Un saludo.
Última edición por BeLiPoWa el Mar Oct 18, 2016 11:18 pm, editado 1 vez en total
BeLiPoWa
Novato
 
Mensajes: 4
Registrado: Lun Oct 17, 2016 8:28 pm

Re: Tpv Servired sha 256

Notapor figue » Mar Oct 18, 2016 11:02 pm

En la configuracion del servidor tienes session.use_only_cookies en On y debe estar en Off.
¿has probado esto?
Si lo has hecho y no funciona, habla con tu hosting y diles que necesitas este parametro en off y lo que has hecho con el php.ini, a ver que te dicen.
figue escribió:Creas un archivo php.ini y le pones esto:
Código: Seleccionar todo
display_errors = Off
date.timezone = “Europe/Madrid”

session.use_only_cookies=Off
suhosin.cookie.cryptua=Off
suhosin.cookie.cryptdocroot=Off
suhosin.session.cryptdocroot=Off
suhosin.session.encrypt=Off

Sube el archivo php.ini a carpeta donde esta la tienda.

Y en el htacces, pones esto, para indicar donde esta el php.ini (Si no sabes la ruta miralo en el configure.php del admin):
Código: Seleccionar todo
<IfModule mod_suphp.c>
SuPHP_ConfigPath /larutacompleta/public_html/catalog/
</IfModule>


Prueba de nuevo a ver que pasa.
figue
Moderador Global
 
Mensajes: 873
Registrado: Mié Feb 09, 2011 8:48 pm
Ubicación: Córdoba

Re: Tpv Servired sha 256

Notapor BeLiPoWa » Mar Oct 18, 2016 11:11 pm

figue escribió:En la configuracion del servidor tienes session.use_only_cookies en On y debe estar en Off.
¿has probado esto?
Si lo has hecho y no funciona, habla con tu hosting y diles que necesitas este parametro en off y lo que has hecho con el php.ini, a ver que te dicen.
figue escribió:Creas un archivo php.ini y le pones esto:
Código: Seleccionar todo
display_errors = Off
date.timezone = “Europe/Madrid”

session.use_only_cookies=Off
suhosin.cookie.cryptua=Off
suhosin.cookie.cryptdocroot=Off
suhosin.session.cryptdocroot=Off
suhosin.session.encrypt=Off

Sube el archivo php.ini a carpeta donde esta la tienda.

Y en el htacces, pones esto, para indicar donde esta el php.ini (Si no sabes la ruta miralo en el configure.php del admin):
Código: Seleccionar todo
<IfModule mod_suphp.c>
SuPHP_ConfigPath /larutacompleta/public_html/catalog/
</IfModule>


Prueba de nuevo a ver que pasa.



Buenas, gracias por responder.

No me ha funcionado como me has dicho, pero lo he puesto en off en el .htaccess con php_flag session.use_only_cookies off. ¿Sirve así?

En el .htaccess tengo esto

Código: Seleccionar todo
php_value memory_limit 256M
php_flag register_globals 1

php_value date.timezone "Europe/Madrid"

php_flag session.use_only_cookies off
php_flag suhosin.cookie.cryptua off
php_flag suhosin.cookie.cryptdocroot off
php_flag suhosin.session.cryptdocroot off
php_flag suhosin.session.encrypt off


El tema del carrito y grabar el pedido sigue sin funcionarme :(
BeLiPoWa
Novato
 
Mensajes: 4
Registrado: Lun Oct 17, 2016 8:28 pm

Re: Tpv Servired sha 256

Notapor BeLiPoWa » Mié Oct 19, 2016 1:49 am

Buenas, he hablado con el soporte de mi empresa de hosting y me han configurado ellos todos los parámetros de PHP, al parecer hay algunos que no permiten que cambie el cliente :cry:, la buena noticia es que ahora me está funcionando bien.

Muchas gracias por la ayuda figue.

Un saludo.
BeLiPoWa
Novato
 
Mensajes: 4
Registrado: Lun Oct 17, 2016 8:28 pm

Re: Tpv Servired sha 256

Notapor jpasvengo » Jue Nov 03, 2016 12:17 pm

Hola,
Me he resistido al cambio todo lo que he podido porque el año pasado lo intenté y alguna vez no quedaba registrado el pedido, otras si.

Tengo oscommerce 2.2RC he vuelto a instalar el modulo y me sucede lo mismo, a veces se registra el pedido y a veces no, para colmo si entro en el panel de administración de REDSYS no queda reflejado el usuario por lo que no tengo manera de de saber quien es el usuario que me ha comprado.

Por supuesto me he leído las 20 hojas del hilo pero no acaba de funcionar.

Alguna idea al menos para poder ver averiguar quien ha realizado el pedido de alguna manera?

Gracias
jpasvengo
Novato
 
Mensajes: 16
Registrado: Mar Feb 14, 2012 8:40 pm

Re: Tpv Servired sha 256

Notapor jpasvengo » Mié Nov 09, 2016 11:35 am

Me autorrespondo por si a alguien le hace falta:
Para que a los que aveces no les haga el pedido y almenos poder ver quien te ha realizado el pedido y seguir viendo lo que ha pedido
hay que modificar el archivo /httpdocs/includes/modules/payment/redsys.php
En el panel de administración de redsys veremos esos datos

debajo de:

//Firma
$clave256=MODULE_PAYMENT_REDSYS_ID_CLAVE256;
$ds_merchant_name = MODULE_PAYMENT_REDSYS_NOMBRE;

añado:

//añado información del cliente
$Descripcion = $order->customer['lastname']."', ".$order->customer['firstname'];

cambio:

$miObj->setParameter("Ds_Merchant_Titular",$ds_merchant_name);

por

//$miObj->setParameter("Ds_Merchant_Titular",$ds_merchant_name);
$miObj->setParameter("Ds_Merchant_Titular",$Descripcion);

Espero que le sirva a alguien, a mi almenos me hace el apaño
jpasvengo
Novato
 
Mensajes: 16
Registrado: Mar Feb 14, 2012 8:40 pm

Re: Tpv Servired sha 256

Notapor BeLiPoWa » Dom Nov 13, 2016 8:16 pm

Buenas, estoy intentando enviar la dirección de e-mail del comprador como parámetro para poder verla en la consola de RedSys. He leído el manual de integración de la web de RedSys y creo que debería incluirlo en el objeto de tipo RedsysAPI que se crea con todos los parámetros.


En esta parte del fichero redsys.php:

Código: Seleccionar todo
      $miObj = new RedsysAPI;
      $miObj->setParameter("DS_MERCHANT_AMOUNT",$cantidad);
      $miObj->setParameter("DS_MERCHANT_ORDER",strval($numpedido));
      $miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$codigo);
      $miObj->setParameter("DS_MERCHANT_CURRENCY",$moneda);
      $miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$trans);
      $miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
      $miObj->setParameter("DS_MERCHANT_MERCHANTURL",$urltienda);
      $miObj->setParameter("DS_MERCHANT_URLOK",$ds_merchant_urlok);
      $miObj->setParameter("DS_MERCHANT_URLKO",$ds_merchant_urlko);
      $miObj->setParameter("Ds_Merchant_ConsumerLanguage",$idioma_tpv);
      $miObj->setParameter("Ds_Merchant_ProductDescription", $productos);
      $miObj->setParameter("Ds_Merchant_Titular",$ds_merchant_name);
      $miObj->setParameter("Ds_Merchant_MerchantData",$ds_merchant_data);
      $miObj->setParameter("Ds_Merchant_MerchantName",$ds_merchant_name);
      $miObj->setParameter("Ds_Merchant_PayMethods",$tipopago);
      $miObj->setParameter("Ds_Merchant_Module","oscommerce_redsys_2.8.3");


El problema es que no se como obtener el e-mail, no se si ya hay una variable que lo contenga y puedo enviar directamente su valor o tengo que obtenerlo utilizando alguna función de oscommerce.

¿Alguien que lo haya hecho o sepa como hacerlo podría darme una pista?

Gracias.

Un saludo.
BeLiPoWa
Novato
 
Mensajes: 4
Registrado: Lun Oct 17, 2016 8:28 pm

Re: Tpv Servired sha 256

Notapor figue » Dom Nov 13, 2016 9:25 pm

En la global $order, tienes todos los datos del pedido.
En esta variable esta el email:
Código: Seleccionar todo
$order->customer['email_address']
figue
Moderador Global
 
Mensajes: 873
Registrado: Mié Feb 09, 2011 8:48 pm
Ubicación: Córdoba

Re: Tpv Servired sha 256

Notapor reflex_ocasion » Vie May 05, 2017 12:08 pm

Tras mucho batallar y buscar en diversas fuentes incluido este post he encontrado la solución definitiva para que funcione el dichoso TPV y que además lo haga con el certificado gratuito SSL Let's Encrypt que debe venir incluido/integrado en tu hosting. Si aún no tienes instalado un certificado SSL ya estás tardando, PayPal lo va a exigir a partir del 30 de Junio de 2017 y desde Enero google te "premia" por tenerlo instalado

En el archivo catalog/includes/modules/payment/redsys.php hay que buscar
Código: Seleccionar todo
  //Merchant URL
      $urltienda =  tep_href_link(FILENAME_ CHECKOUT_PROCESS, '', 'SSL');
      $idSesion = tep_session_id();
      $urltienda = $urltienda."?osCsid=".$idSesion;


Y sustituirlo por
Código: Seleccionar todo
      //Merchant URL
      $urltienda =  tep_href_link(FILENAME_ CHECKOUT_PROCESS, '', 'SSL');
      $idSesion = tep_session_id();
      //$urltienda = $urltienda."?osCsid=".$idSesion;
      $urltienda = $urltienda."?osCsid=".$idSesion."&wc-api=osc"; // aqui meto el parametro para identifiacar que es el pago del tpv.
      $urltienda = str_replace('https://', 'http://', $urltienda); // aqui cambio de https a http en la url.


Ahora hay que añadir a .htaccess lo siguiente
Código: Seleccionar todo
RewriteCond %{QUERY_STRING} !wc-api=osc [NC]


Ademas de esto otro si tu Server API es Apache
Código: Seleccionar todo
php_flag session.use_only_cookies 0
php_flag suhosin.cookie.cryptua 0
php_flag suhosin.cookie.cryptdocroot 0
php_flag suhosin.session.cryptdocroot 0
php_flag suhosin.session.encrypt 0


En cambio si tu Server API es CGI o FastCGI entonces hay que añadir lo mismo pero de esta otra manera
Código: Seleccionar todo
session.use_only_cookies=Off
suhosin.cookie.cryptua=Off
suhosin.cookie.cryptdocroot=Off
suhosin.session.cryptdocroot=Off
suhosin.session.encrypt=Off


Dependiendo de cual sea el Serve API que use tu hosting has de añadir uno u otro, cada uno lo interpreta de una manera y de ahí la diferencia, no se puede generalizar en este punto en concreto, lo que a unos le va bien a otros le va mal y es por esto, por el tipo de Server API que use nuestro hosting

Para saber cual usa tu hosting ve a Herramientas -> Info del servidor del admin de la tienda, aparece en las primeras líneas. El mio es LiteSpeed que es del tipo CGI, si no sabes de que tipo es el tuyo busca en San Google, en alguna parte saldrá de que tipo es y en base a ello ya sabrás que código has de poner en el archivo .htaccess


Además de todo esto en Configuracion -> Sesiones del admin de la tienda hay que dejar todo en false menos prevenir sesiones spider que ha de estar en true

Con esto ya funciona sin problema el TPV con un certificado SSL, se graba el pedido, se envía el email de confirmación y se vacía el carrito sin perder la sesión como también me pasaba a mi. Lo de vaciar el carrito algunas veces tarda un poco, no es instantáneo, en el momento en que refrescas la página o vas a otra se actualiza y se vacía


En las notificaciones del TPV algunas veces (la inmensa mayoría) te saldrá error tipo time out, 301 o 302. Es por lo de redireccionar de https a http, hay un pequeño retraso en las comunicaciones en ese sentido. Este error en las notificaciones no afecta al funcionamiento ni del TPV ni de la tienda online

Si no te da error te debe salir 200 que quiere decir que es correcto


Opps! esto vale para cualquier versión de osCommerce! :mrgreen:

Espero que ayude a quien aún no lo ha solucionado o le vuelva a dar error, sobre todo al cambiar de hosting y por ende de Server API :angle:
reflex_ocasion
Moderador Global
 
Mensajes: 696
Registrado: Jue Ene 13, 2011 10:25 pm
Ubicación: Mijas Costa (Málaga)

AnteriorSiguiente

Volver a Contribuciones (Dudas y Soluciones)

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron
Este sitio utiliza cookies para mejorar la experiencia del usuario.Cookies Al continuar navegando aceptas el uso de cookies.
Cookies