Projet

Général

Profil

Development #10033

Mieux gérer les erreurs sur l'URL de callback

Ajouté par Benjamin Dauvergne il y a environ 8 ans. Mis à jour il y a presque 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
19 février 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Internal Server Error: /lingo/callback/1/
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/combo/apps/lingo/views.py", line 236, in dispatch
    return super(CallbackView, self).dispatch(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 87, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/combo/apps/lingo/views.py", line 232, in post
    return self.handle_callback(request, request.body, **kwargs)
  File "/usr/lib/python2.7/dist-packages/combo/apps/lingo/views.py", line 201, in handle_callback
    transaction = Transaction.objects.get(order_id=payment_response.order_id)
  File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 357, in get
    self.model._meta.object_name)
DoesNotExist: Transaction matching query does not exist.

Il faut rattraper le DoesNotExist et aussi vérifier que order_id est bien ce qu'on veut (une chaîne ascii) avant de faire la requête.


Fichiers


Demandes liées

Dupliqué par Combo - Bug #10034: gérer les cas ou la transaction n'existe pasRejeté19 février 2016

Actions

Révisions associées

Révision edb19948 (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a environ 8 ans

lingo: raise 404 if transaction does not exist (#10033)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

  • Dupliqué par Bug #10034: gérer les cas ou la transaction n'existe pas ajouté
#2

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 8 ans

#3

Mis à jour par Benjamin Dauvergne il y a environ 8 ans

Ack. Et pour order_id vu le code de PaymentResponse c'est toujours une chaîne donc ça devrait aller, par contre le assert juste au dessus c'est pas un peu violent ?

#4

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 8 ans

  • Statut changé de En cours à Résolu (à déployer)

Pas eu encore des cas ou le assert declenche l'exception sur des annulations de paiement.

commit edb19948fafe524f19fafb9e49fc61007acb2014
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Fri Feb 19 11:13:37 2016 +0100

    lingo: raise 404 if transaction does not exist (#10033)

#5

Mis à jour par Frédéric Péters il y a presque 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF