From fd6566a4cadf64f00d8db335c40464c0a6bd0a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 26 Mar 2018 10:11:52 +0200 Subject: [PATCH] ogone: use force_text --- eopayment/ogone.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eopayment/ogone.py b/eopayment/ogone.py index 484df8c..af0600d 100644 --- a/eopayment/ogone.py +++ b/eopayment/ogone.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import hashlib import string +import six from six.moves.urllib import parse as urlparse from decimal import Decimal, ROUND_HALF_UP @@ -499,7 +500,7 @@ class Payment(PaymentCommon): # arrondi comptable francais amount = amount.quantize(Decimal('1.'), rounding=ROUND_HALF_UP) params = { - 'AMOUNT': unicode(amount), + 'AMOUNT': force_text(amount), 'ORDERID': reference, 'PSPID': self.pspid, 'LANGUAGE': language, @@ -533,7 +534,10 @@ class Payment(PaymentCommon): return reference, FORM, form def response(self, query_string, **kwargs): - params = urlparse.parse_qs(query_string, True) + if six.PY3: + params = urlparse.parse_qs(query_string, True, encoding='iso-8859-1') + else: + params = urlparse.parse_qs(query_string, True) params = dict((key.upper(), params[key][0]) for key in params) if not set(params) >= set(['ORDERID', 'PAYID', 'STATUS', 'NCERROR']): raise ResponseError()