diff --git a/sermepa/__init__.py b/sermepa/__init__.py index 48fdaee..4670d8c 100644 --- a/sermepa/__init__.py +++ b/sermepa/__init__.py @@ -280,10 +280,6 @@ def error(message): camell = _notification_fields_upper[key] data[camell]=data[key] del data[key] - continue - - if key not in _notification_fields: - error("Bad parameter '{}'".format(key)) return data diff --git a/sermepa/sermepa_test.py b/sermepa/sermepa_test.py index b481db1..ffc823f 100755 --- a/sermepa/sermepa_test.py +++ b/sermepa/sermepa_test.py @@ -411,19 +411,19 @@ def test_decodeSignedData_badSignature(self): msg = cm.exception.args[0] self.assertEqual(msg, 'Bad signature') - def test_decodeSignedData_badParam(self): + def test_decodeSignedData_unexpectedParam(self): json_data = '{"Ds_Order":"666", "Bad":"value"}' base64_data = base64.urlsafe_b64encode(b(json_data)) signature = signPayload(self.secret, base64_data, urlsafe=True) - with self.assertRaises(SignatureError) as cm: - decodeSignedData( - self.merchantkey, - Ds_MerchantParameters = base64_data, - Ds_Signature = signature, - Ds_SignatureVersion = self.signatureversion, - ) - msg = cm.exception.args[0] - self.assertEqual(msg, "Bad parameter 'Bad'") + + data = decodeSignedData( + self.merchantkey, + Ds_MerchantParameters=base64_data, + Ds_Signature=signature, + Ds_SignatureVersion=self.signatureversion, + ) + + self.assertEqual(data, dict(Ds_Order='666', Bad='value')) def test_decodeSignedData_upperCaseOrder(self): json_data = '{"DS_ORDER":"666"}'