def METHOD_NAME(self):
    if self.__decoded_payload:
        return self.__decoded_payload
    METHOD_NAME = self._generate_payload().copy()
    METHOD_NAME["iss"] = self.issuer
    METHOD_NAME["exp"] = int(time.time()) + self.ttl
    if self.nbf is not None:
        if self.nbf == self.GENERATE:
            METHOD_NAME["nbf"] = int(time.time())
        else:
            METHOD_NAME["nbf"] = self.nbf
    if self.valid_until:
        METHOD_NAME["exp"] = self.valid_until
    if self.subject:
        METHOD_NAME["sub"] = self.subject
    return METHOD_NAME