Bug #13728
ogone: erreur lors de la vérification de la signature de retour
Début:
24 octobre 2016
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
Trace arrivée suite à la saisie des accents dans le nom du titulaire de la carte sur la page de paiement:
Internal Server Error: /lingo/return/2/ 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 457, in dispatch return super(ReturnView, 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 460, in get return self.handle_return(request, request.environ['QUERY_STRING'], **kwargs) File "/usr/lib/python2.7/dist-packages/combo/apps/lingo/views.py", line 469, in handle_return payment_response = payment.response(backend_response) File "/usr/lib/python2.7/dist-packages/eopayment/__init__.py", line 143, in response return self.backend.response(query_string, **kwargs) File "/usr/lib/python2.7/dist-packages/eopayment/ogone.py", line 542, in response expected_signature = self.sha_sign_out(params) File "/usr/lib/python2.7/dist-packages/eopayment/ogone.py", line 472, in sha_sign_out return self.sha_sign(self.hash_algorithm, self.sha_out, params, SHA_OUT_PARAMS) File "/usr/lib/python2.7/dist-packages/eopayment/ogone.py", line 461, in sha_sign values = [u'%s=%s' % (a, b) for a, b in values if a in keep] UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 1: ordinal not in range(128) Request repr(): <WSGIRequest path:/lingo/return/2/, GET:<QueryDict: {u'orderID': [u'lRXK4Rl1N2yIR3R5z7Kc'], u'STATUS': [u'9'], u'IP': [u'80.12.92.47'], u'PAYID': [u'3011229363'], u'CN': [u'M\xefhai Serghe\xef'], u'NCERROR': [u'0'], u'TRXDATE': [u'10/24/16'], u'CARDNO': [u'XXXXXXXXXXXX9999'], u'BRAND': [u'MasterCard'], u'ACCEPTANCE': [u'test123'], u'currency': [u'EUR'], u'amount': [u'7.5'], u'SHASIGN': [u'CE39087A8059EEB177F37CCC67B8567CDB658F92'], u'ED': [u'0318'], u'PM': [u'CreditCard']}>,
Fichiers
Révisions associées
Historique
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-fix-response-parameters-encoding-13728.patch 0001-ogone-fix-response-parameters-encoding-13728.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a plus de 7 ans
On pourrait pas aussi avoir un test moins fabriqué, partant de que combo fait ?
backend_response = 'orderID=Mo1beROq3FNe8KT9ZD3m¤cy=EUR&amount=7%2E5&PM=CreditCard&ACCEPTANCE=test123&STATUS=9&CARDNO=XXXXXXXXXXXX9999&ED=0118&CN=Miha%EF+Serghe%EF&TRXDATE=10%2F24%2F16&PAYID=3011228911&NCERROR=0&BRAND=MasterCard&IP=80%2E12%2E92%2E47&SHASIGN=9D774B1CEC8C393195DDEE92F32F2589F40EF10A' payment_response = payment.response(backend_response)
(en adaptant l avaleur de la signature).
Mis à jour par Serghei Mihai il y a plus de 7 ans
Je me rend compte que le CN envoyé, qui est à l'origine du problème n'est pas encodé en UTF-8.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Fichier 0001-ogone-fix-response-parameters-encoding-13728.patch 0001-ogone-fix-response-parameters-encoding-13728.patch ajouté
Patch à jour avec un test supplémentaire prenant la query string encodée en iso-8859-1
Mis à jour par Benjamin Dauvergne il y a plus de 7 ans
Ack, mais fais un test en live si tu peux aussi.
Mis à jour par Serghei Mihai il y a plus de 7 ans
- Statut changé de En cours à Résolu (à déployer)
Testé sur la recette de Tournai (merci Fred) et ça fonctionne.
commit 11ba668f42333cc3f595be6a54910992d8f42111 Author: Serghei Mihai <smihai@entrouvert.com> Date: Tue Oct 25 10:27:07 2016 +0200 ogone: fix response parameters encoding (#13728)
ogone: fix response parameters encoding (#13728)