ERROR : 500: Internal Server Error - cuando se va a pagar en la tienda online de odoo v8

876 views
Skip to first unread message

Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 3:04:42 AM2/6/17
to Usuarios Odoo / OpenERP en España
Hola a todos,

Tengo este error en la tienda online de odoo 8:


ERROR : 500: Internal Server Error - cuando se va a pagar en la tienda online de odoo v8

El módulo redsys esta configurado como pruebas.

Esto me pasa despues de instalar el módulo redsys.

¿Alguna idea?

Saludos y gracias.

Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 10:46:37 AM2/6/17
to Usuarios Odoo / OpenERP en España
Es una pena que en la tienda online no funcione el cobro con tarjeta de crédito. Las otras opciones serían transferencia o paypal, pero no todo el mundo tiene paypal, y la transferencia hace perder ventas, no hay venta caliente.

La otra opción es Magento pero hay que liarse con el conector, otro software a mantener, etc.

Luis Planes

unread,
Feb 6, 2017, 10:48:21 AM2/6/17
to openerp-s...@googlegroups.com
Hola Fernando, si das un poco más de detalle del log, será más fácil encontrar el problema.

Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)


Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener información confidencial, siendo para uso exclusivo del destinatario, quedando prohibida su divulgación copia o  distribución a terceros sin la autorización expresa del remitente. Si Vd. ha recibido este mensaje erróneamente, se ruega lo notifique al remitente y proceda a su borrado.




--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios Odoo / OpenERP en España" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-users+unsub...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 12:56:49 PM2/6/17
to Usuarios Odoo / OpenERP en España
Hola,

Gracias por contestar Luis

Este es el log


2017-02-06 17:53:03,096 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:03] "GET / HTTP/1.1" 200 -
2017-02-06 17:53:05,004 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:05] "GET /web/login HTTP/1.1" 200 -
2017-02-06 17:53:07,462 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:07] "GET /shop HTTP/1.1" 200 -
2017-02-06 17:53:14,286 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:14] "GET /shop/product/5-horas-de-formacion-para-odoo-por-teleconferencia-21 HTTP/1.1" 200 -
2017-02-06 17:53:14,401 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:14] "GET /website/image/product.template/21_862e0f9/image HTTP/1.1" 200 -
2017-02-06 17:53:16,579 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:16] "POST /shop/cart/update HTTP/1.1" 302 -
2017-02-06 17:53:17,078 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:17] "GET /shop/cart HTTP/1.1" 200 -
2017-02-06 17:53:17,187 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:17] "GET /website/image/product.product/21_ddc272e/image_small HTTP/1.1" 200 -
2017-02-06 17:53:20,470 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:53:20] "GET /shop/checkout HTTP/1.1" 200 -
2017-02-06 17:54:19,263 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "POST /shop/confirm_order HTTP/1.1" 302 -
2017-02-06 17:54:19,706 1051 ERROR humanoide openerp.addons.website.models.ir_http: 500 Internal Server Error:

Traceback (most recent call last):
  File "/opt/odoo/odoo-server/addons/website/models/ir_http.py", line 199, in _handle_exception
    response = super(ir_http, self)._handle_exception(exception)
  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_http.py", line 145, in _handle_exception
    return request._handle_exception(exception)
  File "/opt/odoo/odoo-server/openerp/http.py", line 673, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_http.py", line 171, in _dispatch
    result = request.dispatch()
  File "/opt/odoo/odoo-server/openerp/http.py", line 691, in dispatch
    r = self._call_function(**self.params)
  File "/opt/odoo/odoo-server/openerp/http.py", line 317, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/http.py", line 314, in checked_call
    return self.endpoint(*a, **kw)
  File "/opt/odoo/odoo-server/openerp/http.py", line 810, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo/odoo-server/openerp/http.py", line 410, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo/odoo-server/addons/website_sale/controllers/main.py", line 719, in payment
    context=render_ctx)
  File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/addons/payment/models/payment_acquirer.py", line 254, in render
    partner_values, tx_values = method(cr, uid, id, partner_values, tx_values, context=context)
  File "/opt/odoo/odoo-server/openerp/api.py", line 268, in wrapper
    return old_api(self, *args, **kwargs)
  File "/opt/odoo/odoo-server/openerp/api.py", line 372, in old_api
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/custom/addons/payment_redsys/models/redsys.py", line 190, in redsys_form_generate_values
    acquirer.redsys_secret_key, merchant_parameters),
  File "/opt/odoo/custom/addons/payment_redsys/models/redsys.py", line 167, in sign_parameters
    key=base64.b64decode(secret_key),
  File "/usr/lib/python2.7/base64.py", line 76, in b64decode
    raise TypeError(msg)
TypeError: Incorrect padding

2017-02-06 17:54:19,711 1051 INFO humanoide werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /shop/payment HTTP/1.1" 500 -
2017-02-06 17:54:19,959 1051 INFO ? werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /web/static/lib/bootstrap/css/bootstrap.css HTTP/1.1" 200 -
2017-02-06 17:54:19,960 1051 INFO ? werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /web/static/lib/bootstrap/js/bootstrap.js HTTP/1.1" 200 -
2017-02-06 17:54:19,973 1051 INFO ? werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /website/static/src/css/website.css HTTP/1.1" 200 -
2017-02-06 17:54:19,974 1051 INFO ? werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /web/static/lib/jquery/jquery.js HTTP/1.1" 200 -
2017-02-06 17:54:19,975 1051 INFO ? werkzeug: 127.0.0.1 - - [06/Feb/2017 17:54:19] "GET /web/static/lib/fontawesome/css/font-awesome.css HTTP/1.1" 200 -


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 12:58:10 PM2/6/17
to Usuarios Odoo / OpenERP en España
Parece que algo está mal configurado en Redsys


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 12:59:41 PM2/6/17
to Usuarios Odoo / OpenERP en España

El error se produce al ir a pagar





El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Luis Planes

unread,
Feb 6, 2017, 1:20:10 PM2/6/17
to openerp-s...@googlegroups.com
Hola Fernando, el error lo está dando en el cálculo del Cipher. En particular lo da en la línea que calcula el key, en dicha línea sólo hace uso de la variable secret_key. Por tanto yo creo que el problema puede venir de que está mal informada esa variable en la configuración del tipo de pago.
Revisa la pantalla y si acaso la envías.
Un saludo.


Pongo el código por si interesa.
cipher = DES3.new(
            key=base64.b64decode(secret_key),
            mode=DES3.MODE_CBC,
            IV=b'\0\0\0\0\0\0\0\0')








Fernando Garcia Hansen - Humanoide

unread,
Feb 6, 2017, 2:05:51 PM2/6/17
to Usuarios Odoo / OpenERP en España

Tarjeta de crédito
Redsys
Humanoide servicios para la pyme, S.L.N.E.
Test
Automático



acquirer.transaction.form.redsys
Esta plantilla dibuja el botón del método de pago con todos los valores necesarios. Se representará con qWeb con el siguiente contexto de evaluación:
  • tx_url: URL de la transacción para enviar el formulario
  • acquirer: registro del modelo payment.acquirer
  • user: registro del usuario actual
  • reference: el número de referencia de la transacción
  • currency: el registro de la moneda de la transacción
  • amount: el importe de la transacción, un float
  • partner: el registro del cliente que compra, no necesariamente establecido
  • partner_values: valores específicos sobre el comprador, por ejemplo, viniendo un formulario de envío
  • tx_values: valores de la transacción
  • context: el diccionario de contexto actual
shop.humanoide.es
Humanoide servicios para la pyme, S.L.N.E.
Humanoide
11112
6546545
1
EUR
0
Castellano
Pago con Tarjeta
adfads
adsfadsf
HMAC SHA256 V1
0,00


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Luis Planes

unread,
Feb 7, 2017, 3:22:07 AM2/7/17
to openerp-s...@googlegroups.com
Hola Fernando, buenos días. Disculpa la tardanza.

Yo tengo una clave completamente distinta a la tuya de longitud 32 caracteres.
Si acaso no pongas los valores reales de la clave, ya que este medio es público.

Revisa la clave y la documentación de Redsys / Sermepa.
Salu2


Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)


Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener información confidencial, siendo para uso exclusivo del destinatario, quedando prohibida su divulgación copia o  distribución a terceros sin la autorización expresa del remitente. Si Vd. ha recibido este mensaje erróneamente, se ruega lo notifique al remitente y proceda a su borrado.




Fernando Garcia Hansen - Humanoide

unread,
Feb 7, 2017, 3:40:46 AM2/7/17
to Usuarios Odoo / OpenERP en España
Hola Luis,

Los datos son ficticios, todavía no recibí del banco esa información.

Puede ser entonces que con los datos correctos la página funcione.

Saludos y gracias.


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Luis Planes

unread,
Feb 7, 2017, 3:57:55 AM2/7/17
to openerp-s...@googlegroups.com
Seguramente, ya que el módulo de redsys, genera datos que tiene que cifrar con dicha clave, si no es capaz de cifrar igual da un error en vez de un mensaje.


Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)


Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener información confidencial, siendo para uso exclusivo del destinatario, quedando prohibida su divulgación copia o  distribución a terceros sin la autorización expresa del remitente. Si Vd. ha recibido este mensaje erróneamente, se ruega lo notifique al remitente y proceda a su borrado.




Fernando Garcia Hansen - Humanoide

unread,
Feb 15, 2017, 5:34:32 AM2/15/17
to Usuarios Odoo / OpenERP en España
Pues ahora he puesto la clave que me da el banco y no funciona. Ocurre lo mismo. Al pasar a la página del pago sale el error

500: Internal Server Error


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Fernando Garcia Hansen - Humanoide

unread,
Feb 15, 2017, 5:37:08 AM2/15/17
to Usuarios Odoo / OpenERP en España
Sale este error en el log

  File "/opt/odoo/odoo-server/openerp/addons/base/ir/ir_qweb.py", line 200, in get_template
    raise QWebTemplateNotFound("Template %r not found" % name, template=origin_template)
QWebTemplateNotFound: Template u'payment_redsys.transaction_form_redsys' not found



El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Fernando Garcia Hansen - Humanoide

unread,
Feb 15, 2017, 5:38:58 AM2/15/17
to Usuarios Odoo / OpenERP en España
¿Tengo que crear un MODO DE PAGO en contabilidad, y hacer un diario etc , y asociarlo a redsys?


El lunes, 6 de febrero de 2017, 9:04:42 (UTC+1), Fernando Garcia Hansen - Humanoide escribió:

Luis Planes

unread,
Feb 15, 2017, 7:52:24 AM2/15/17
to openerp-s...@googlegroups.com
Si, es necesario hacer un método de pago y además es necesario definir el formulario que modifica el botón para poder enviar los datos a redsys.


Luis Planes
679 197 619
974 315 411
@luisplanes


Avda. San José María Escrivá, 8

22300 Barbastro (Huesca)


Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener información confidencial, siendo para uso exclusivo del destinatario, quedando prohibida su divulgación copia o  distribución a terceros sin la autorización expresa del remitente. Si Vd. ha recibido este mensaje erróneamente, se ruega lo notifique al remitente y proceda a su borrado.




Reply all
Reply to author
Forward
0 new messages