Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: invalid_notification_url #22

Open
l-portugal opened this issue Jul 6, 2021 · 5 comments
Open

Error: invalid_notification_url #22

l-portugal opened this issue Jul 6, 2021 · 5 comments

Comments

@l-portugal
Copy link

Al querer realizar el pago a través de mercado pago, me arroja el siguiente mensaje de error:

Error de Servidor:
No podemos redirigirlo al formulario de pago. Returning response is:{ "status": 400, "response": { "message": "notificaction_url attribute must be a valid url", "error": "invalid_notification_url", "status": 400, "cause": null } }

He probado tanto en producción como en desarrollo. A su vez también activando IPN y desactivando el mismo.

@celm1990
Copy link

celm1990 commented Jul 6, 2021

Hola, seria bueno que indiques la versión de Odoo que estas usando,

Adicional si es V12 te invito a probar la rama https://github.com/Loo-ERP/payment_mercadopago/tree/12.0-mercado-pago-new-sdk donde estoy implementando el nuevo SDK(por ahora en CheckOut API pero mas adelante podría implementarse el Checkout Pro, tengo una rama donde estaba implementándolo) cualquier comentario es bienvenido en el PR #21

@l-portugal l-portugal changed the title Error: invalid client_id or client_secret Error: invalid_notification_url Jul 7, 2021
@l-portugal
Copy link
Author

Hola, seria bueno que indiques la versión de Odoo que estas usando,

Adicional si es V12 te invito a probar la rama https://github.com/Loo-ERP/payment_mercadopago/tree/12.0-mercado-pago-new-sdk donde estoy implementando el nuevo SDK(por ahora en CheckOut API pero mas adelante podría implementarse el Checkout Pro, tengo una rama donde estaba implementándolo) cualquier comentario es bienvenido en el PR #21

Hola Carlos, gracias por tu resppuesta. La versión que utilizo es Odoo 14, y la rama que instalé es https://github.com/ctmil/payment_mercadopago/tree/14.0

Por suerte pude "resolverlo" momentaneamente de la siguiente manera:

En el archivo models/mercadopago.py, comenté la linea 314:

Cambiar
"notification_url": '%s' % urljoin( base_url, MercadoPagoController._notify_url),

Por
#"notification_url": '%s' % urljoin( base_url, MercadoPagoController._notify_url),

Ya con eso no me arroja el error mencionado.

Aún me queda determinar el causante del error, pero de momento funciona.

Saludos.

@celm1990
Copy link

celm1990 commented Jul 7, 2021

Por suerte pude "resolverlo" momentaneamente de la siguiente manera:

En el archivo models/mercadopago.py, comenté la linea 314:

Cambiar
"notification_url": '%s' % urljoin( base_url, MercadoPagoController._notify_url),

Por
#"notification_url": '%s' % urljoin( base_url, MercadoPagoController._notify_url),

Ya con eso no me arroja el error mencionado.

Aún me queda determinar el causante del error, pero de momento funciona.

Saludos.

Podria ser problema con el parametro web.base.url que no esta tomando tu dominio correctamente, o tienes algun parametro web.base.url.freeze y has cambiado de dominio, se me ocurre, con todo lo idea seria q depures que valor se esta pasando en notification_url

@marcos-mendez
Copy link

Esta muy raro, Esto sigue siendo normal en la v16.

el web.base.url esta configurado correctamente y el web.base.url.freeze como true o como false no hace diferencia.

aparentemente el modulo esta sacando essa informacion del /etc/hosts del servidor lo que no hace sentido es el unico lugar donde la ip 127.0.0.1 esta configurada.

Coloco el log aqui por las dudas si alguien descubrió donde esta passando todo esto porque evidentemente algun error tiene ele modulo.

2024-09-16 19:55:06,634 290158 INFO quegenial werkzeug: 127.0.0.1 - - [16/Sep/2024 19:55:06] "POST /web/dataset/call_kw/ir.config_parameter/unlink HTTP/1.1" 200 - 41 0.056 4.459
2024-09-16 19:55:06,735 290158 INFO quegenial werkzeug: 127.0.0.1 - - [16/Sep/2024 19:55:06] "POST /web/dataset/call_kw/ir.config_parameter/web_search_read HTTP/1.1" 200 - 14 0.007 0.010
2024-09-16 19:55:12,287 290158 INFO ? odoo.service.server: Initiating shutdown 
2024-09-16 19:55:12,287 290158 INFO ? odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown. 
2024-09-16 19:55:12,726 290158 INFO ? odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 4 connections  
2024-09-16 19:55:14,663 290187 INFO ? odoo: Odoo version 16.0 
2024-09-16 19:55:14,663 290187 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf 
2024-09-16 19:55:14,663 290187 INFO ? odoo: addons paths: ['/usr/lib/python3/dist-packages/odoo/addons', '/var/lib/odoo/.local/share/Odoo/addons/16.0', '/opt/oca/website', '/opt/oca/web', '/opt/oca/social', '/opt/oca/e-commerce', '/opt/oca/product-attribute', '/opt/oca/sale-workflow'] 
2024-09-16 19:55:14,663 290187 INFO ? odoo: database: odoo@localhost:default 
2024-09-16 19:55:15,254 290187 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/bin/wkhtmltopdf 
2024-09-16 19:55:16,258 290187 INFO ? odoo.service.server: HTTP service (werkzeug) running on odoo:8069 
2024-09-16 19:55:21,400 290187 INFO quegenial odoo.modules.loading: loading 1 modules... 
2024-09-16 19:55:21,414 290187 INFO quegenial odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries (+0 extra) 
2024-09-16 19:55:21,420 290187 INFO quegenial odoo.modules.loading: loading 97 modules... 
2024-09-16 19:55:24,400 290187 INFO quegenial odoo.modules.loading: 97 modules loaded in 2.98s, 0 queries (+0 extra) 
2024-09-16 19:55:24,851 290187 INFO quegenial odoo.modules.loading: Modules loaded. 
2024-09-16 19:55:24,859 290187 INFO quegenial odoo.modules.registry: Registry loaded in 3.494s 
2024-09-16 19:55:24,870 290187 INFO quegenial odoo.addons.base.models.ir_http: Generating routing map for key 1 
2024-09-16 19:55:25,466 290187 INFO quegenial odoo.addons.payment.models.payment_transaction: generic and provider-specific processing values for transaction with reference S00004:
{'amount': 1.22,
 'currency_id': 46,
 'partner_id': 3,
 'provider_code': 'mercado_pago',
 'provider_id': 8,
 'reference': 'S00004'} 
2024-09-16 19:55:25,467 290187 INFO quegenial odoo.addons.payment_mercado_pago.models.payment_transaction: Sending '/checkout/preferences' request for link creation:
{'auto_return': 'all',
 'back_urls': {'failure': 'http://127.0.0.1:8069/payment/mercado_pago/return',
               'pending': 'http://127.0.0.1:8069/payment/mercado_pago/return',
               'success': 'http://127.0.0.1:8069/payment/mercado_pago/return'},
 'external_reference': 'S00004',
 'items': [{'currency_id': 'UYU',
            'quantity': 1,
            'title': 'S00004',
            'unit_price': 1.22}],
 'notification_url': 'http://127.0.0.1:8069/payment/mercado_pago/webhook/S00004',
 'payer': {'address': {'street_name': 'CALLE Y NUMERO', 'zip_code': '13000'},
           'email': '[email protected]',
           'name': 'Que Genial Store',
           'phone': {'number': '+59899079037'}},
 'payment_methods': {'installments': 1}} 
2024-09-16 19:55:26,034 290187 ERROR quegenial odoo.addons.payment_mercado_pago.models.payment_provider: Invalid API request at https://api.mercadopago.com/checkout/preferences with data:
{'auto_return': 'all',
 'back_urls': {'failure': 'http://127.0.0.1:8069/payment/mercado_pago/return',
               'pending': 'http://127.0.0.1:8069/payment/mercado_pago/return',
               'success': 'http://127.0.0.1:8069/payment/mercado_pago/return'},
 'external_reference': 'S00004',
 'items': [{'currency_id': 'UYU',
            'quantity': 1,
            'title': 'S00004',
            'unit_price': 1.22}],
 'notification_url': 'http://127.0.0.1:8069/payment/mercado_pago/webhook/S00004',
 'payer': {'address': {'street_name': 'CALLE Y NUMERO', 'zip_code': '13000'},
           'email': '[email protected]',
           'name': 'Que Genial Store',
           'phone': {'number': '+59899079037'}},
 'payment_methods': {'installments': 1}} 
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/payment_mercado_pago/models/payment_provider.py", line 66, in _mercado_pago_make_request
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.mercadopago.com/checkout/preferences
2024-09-16 19:55:26,042 290187 WARNING quegenial odoo.http: Mercado Pago: The communication with the API failed. Mercado Pago gave us the following information: 'notificaction_url attribute must be a valid url' (code invalid_notification_url)

@marcos-mendez
Copy link

PD: esto me pasa con el modulo mercado_pago nativo de odoo (que es un derivado de este)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants