Projet

Général

Profil

0001-ogone-use-iso-8859-15-encoding-for-signature-44150.patch

Frédéric Péters, 17 juin 2020 07:52

Télécharger (2,31 ko)

Voir les différences:

Subject: [PATCH] ogone: use iso-8859-15 encoding for signature (#44150)

 eopayment/ogone.py  | 2 +-
 tests/test_ogone.py | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
eopayment/ogone.py
496 496
        values = [u'%s=%s' % (a, b) for a, b in values if a in keep and b]
497 497
        tosign = key.join(values)
498 498
        tosign += key
499
        tosign = force_byte(tosign)
499
        tosign = force_byte(tosign, encoding='iso-8859-1')
500 500
        hashing = getattr(hashlib, algo)
501 501
        return hashing(tosign).hexdigest().upper()
502 502

  
tests/test_ogone.py
79 79
                'cn': u'Usér', 'ncerror': u'0',
80 80
                'trxdate': u'10/24/16', 'acceptance': u'test123',
81 81
                'currency': u'eur', 'amount': u'7.5',
82
                'shasign': u'3EE0CF69B5A8514962C9CF8A545861F0CA1C6891'}
82
                'shasign': u'CA4B3C2767B5EFAB33B9122A5D4CF6F27747303D'}
83 83
        # uniformize to utf-8 first
84 84
        for k in data:
85 85
            data[k] = eopayment.common.force_byte(data[k])
......
96 96
            '&CARDNO=XXXXXXXXXXXX9999&ED=0118'
97 97
            '&CN=Miha%EF+Serghe%EF&TRXDATE=10%2F24%2F16'
98 98
            '&PAYID=3011228911&NCERROR=0&BRAND=MasterCard'
99
            '&IP=80%2E12%2E92%2E47&SHASIGN=435D5E36E1F4B17739C1054FFD204218E65C15AB'
99
            '&IP=80%2E12%2E92%2E47&SHASIGN=C429BE892FACFBFCE5E2CC809B102D866DD3D48C'
100 100
        )
101 101
        response = ogone_backend.response(backend_response)
102 102
        assert response.signed
......
121 121
            'pm': 'bank transfer',
122 122
            'currency': u'eur',
123 123
            'amount': u'7.5',
124
            'shasign': u'0E35F687ACBEAA6CA769E0ADDBD0863EB6C1678A'
124
            'shasign': u'944CBD1E010BA4945415AE4B16CC40FD533F6CE2',
125 125
        }
126 126
        # uniformize to utf-8 first
127 127
        for k in data:
128
-