Localización Española

¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

 
Ocultar IntroRegistro

0

Redsys V17 no confirma el pedido

Avatar
PedroBJ

Hola todos!

Estamos realizando pruebas con redsys (entorno test), y una vez realizado el pago con éxito nos redirige a nuestro Odoo pero el pedido no se confirma , se queda permanentemente en "El pago no ha sido aún procesado"

1 Comentar
Avatar
Descartar
Avatar
José Cambra
-

Buenos días, PedroBJ.
Aquí te dejo un link de una pregunta parecida: https://www.aeodoo.org/en/forum/localizacion-espanola-3/redsys-no-se-confirma-el-pago-1150
Por otra parte, revisa temas de workflow. También puede influir si tienes más de una base de datos, porque entonces no sabe a cuál responder
Un saludo.

2 Respuestas
0
Avatar
Guillem Martorell
Mejor respuesta

Buenas tardes

A nosotros nos ocurría algo parecido en la versión 12, en nuestro caso era la referencia que se mandaba a Redsys excedia los 12 caracteres, máximo que permite Redsys, y al devolver el id de la transacción estaba truncada y Odoo no era capaz de localizarla.

Si no recuerdo mal, por defecto el id es el número de factura mas tres o cuatro digitos.

Nuestras solución fué substituir el prefijo del id de la transacción por el id del partner y funcionaba correctamente.

Aquí te dejo el código del modelo que programamos:

from odoo import fields, models, api


class se7PaymentTransaction(models.Model):

    _inherit = 'payment.transaction'


    @api.model

    def _compute_reference_prefix(self, values):


        super()._compute_reference_prefix(values)

        if values and values.get('partner_id'):

            r = str(values['partner_id'])

            return r

        return None

Aunque, como ya han comentado, si tienes más de una base de datos no sabe donde redirigir la respuesta, esto se soluciona, por ejemplo, usando el modulo dbfilter_from_header que tienes disponible en OCA.


Saludos

2 Comentarios
Avatar
Descartar
Avatar
PedroBJ
-

Gracias Guillem Martorell, voy a revisar si es esto y actualizo

Avatar
PedroBJ
-

Lo he revisado y el ds_order_merchant no supera los 9 dígitos, sobre el módulo dbfilter_from_header, entiendo que si en el conf se ha configurado el dbfilter y el dbname como se indica en la documentación no debería ser necesario, ¿no?

0
Avatar
PedroBJ
Mejor respuesta

Gracias José, 

Sí, vi este hilo y había leído el readme sobre el multicompany, no es nuestro caso, solo quería verificar si en V17 hay más casos o alguien tiene la certeza de que es un comportamiento normal en modo test, y que pasando redsys a producción no pasa. Pero no hay confirmación.

1 Comentar
Avatar
Descartar
Avatar
José Cambra
-

Buenos días, PedroBJ.
OK.
Solo indicarte que en los casos en que no aportes una nueva respuesta, debes crear un comentario, como el que he hecho yo.
Un saludo.