code: def check_payment(self, payment):
          
          validation = ""
          required = ["name", "IBAN", "BIC", "amount", "description"]
  
          for config_item in required:
              if config_item not in payment:
                  validation += config_item.upper() + "_MISSING "
  
          if not isinstance(payment['amount'], int):
              validation += "AMOUNT_NOT_INTEGER "
  
          if 'execution_date' in payment:
              if not isinstance(payment['execution_date'], datetime.date):
                  validation += "EXECUTION_DATE_INVALID_OR_NOT_DATETIME_INSTANCE"
              payment['execution_date'] = payment['execution_date'].isoformat()
  
          if validation == "":
              return True
          else:
              raise Exception('Payment did not validate: ' + validation)
docs: Check the payment for required fields and validity.
          @param payment: The payment dict
          @return: True if valid, error string if invalid paramaters where
          encountered.