-Tenemos instalado el módulo en una Web Drupal que está disponible en 4 idiomas: castellano, inglés, francés y alemán, y tenemos configurado el pago para usar comunicación online con respuesta requerida.

-Cuando el usuario tiene como idioma el castellano todo va bien: la Web redirige al TPV, éste cobra, envía la comunicación online... Todo sin problemas.

-El problema sucede cuando el usuario está usando la Web en cualquier otro idioma: en ese caso, al ir a pagar, entra en el TPV... pero éste le devuelve el error "Comunicación on-line incorrecta". Mirando en nuestros logs de sistema, vemos que el TPV hace una petición HTTP POST a nuestra URL de vuelta: "{nombre_de_host}.net/?q=es/ceca/callback" , pero el módulo CECA le responde con un error 500 ("Internal server error").

-El problema, sospechamos, está en el hecho de que la URL de vuelta contenga la cadena de idioma "es". Hemos probado a introducir como URL de vuelta "{nombre_de_host}.net/?q=ceca/callback", pero en ese caso también nos da un error 500. Obviamente, no podemos ir modificando a mano la URL de respuesta para cada transacción.

Comments

grisendo’s picture

Hi,

I'll need more information about this... ¿any clue about that error 500? Try to check apache log if you can, so you can see in which file and line the error is.

PS: Please, try to create the issues in english! :)

albertoi’s picture

The only bug we're getting to see in logs , for now, is:

[Mon Jun 08 13:19:39 2015] [error] FastCGI: comm with server "/homez.2055/{nuestro
host}}/www/index.php" aborted: error parsing headers: malformed header 'Bad request'
[Mon Jun 08 13:19:39 2015] [error] FastCGI: An error happend on Fastcgi processing,
fallback to CGI
[Mon Jun 08 13:19:39 2015] [error] malformed header from script. Bad header=Bad request:
index.php

We have also written a php script to dump the HTTP headers and
POST variables was not commanding the TPV to a log , and what brought us back was this:

HTTP_AUTHORIZATION:
HTTP_REMOTE_IP: 80.68.128.247
HTTP_HOST: (nuestro hosting)
HTTP_COOKIE: 300gp=R3396131749
HTTP_X_PREDICTOR: 1
HTTP_CONNECTION: close
HTTP_USER_AGENT: Apache-HttpClient/4.3.6 (java 1.5)
HTTP_X_GEO: varn18.rbx5
HTTP_X_GEO_PORT: 1011
MerchantID: {nuestro ID}
AcquirerBIN: {nuestro ID}
TerminalID: 00000003
Num_operacion: 244
Importe: 000000022500
TipoMoneda: 978
Exponente: 2
Referencia: 12002891781506041945566007000
Firma: b4fd15ad9ff8e4f946eb831626c9d3c887981fc4
Num_aut: 101000
BIN: 450767
FinalPAN: 0009
Cambio_moneda: 1,00
Idioma: 8
Descripcion:
Pais: 724
Tipo_tarjeta: C
Codigo_pedido:
Codigo_cliente:
Codigo_comercio:
Caducidad: 201512
Idusuario:

Cookies you see there are certainly shared hosting

grisendo’s picture

Cannot reproduce at all... have you tried to debug line by line? Callback code is function commerce_ceca_callback(), in commerce_ceca.module line 462

grisendo’s picture

Status: Active » Closed (duplicate)

Duplicated, continues here: https://www.drupal.org/node/2637036