title: Magento 2 Get Tier Price of Group while user not logged in
body: <p>I try to get a tier price for a certain customer group in Magento 2.
  The tier price should be shown on webshop even if a user  is <strong>not</strong> logged in (and thus not a member of the group at that time)
  This tier price is for members only. But to encourage visitors to become a member, the member price and the regular (final) must be visible.
  I'm overwriting Magento\Framework\Pricing\Render\RendererPool.</p>
  
  <p>I can get the minimal Tier Price for a configurable product with this group like this:</p>
  
  <pre><code>private function getMemberPrice(Product $product)
  {
      if ($product-&gt;getTypeId() == 'configurable') {
          $om = \Magento\Framework\App\ObjectManager::getInstance();
          $configurable = $om-&gt;get('Magento\ConfigurableProduct\Model\Product\Type\Configurable');
          $children = $configurable-&gt;getUsedProducts($product);
          /**
           * @var  $childKey
           * @var Product $child
           */
          $minimalTierMemberPrice = null;
          foreach ($children as $childKey =&gt; $child) {
  
              $tier_prices = $child-&gt;getTierPrices();
              if ($tier_prices &amp;&amp; count($tier_prices) &gt; 0) {
                  foreach ($tier_prices as $tier_price) {
                      if ($tier_price-&gt;getCustomerGroupId() == 4 /* MEMBER CUSTOMER GROUP ID */) {
                          if (!$minimalTierMemberPrice || $minimalTierMemberPrice-&gt;getValue() &gt; $tier_price-&gt;getValue()) {
                              $minimalTierMemberPrice = $tier_price;
                          }
                      }
                  }
              }
          }
          if ($minimalTierMemberPrice) {
              return $minimalTierMemberPrice;
          } else {
              return $this-&gt;getNonMemberPrice($product);
          }
      }
  
      //if none member price was set, return the memberprice
      return $this-&gt;getNonMemberPrice($product);
  }
  </code></pre>
  
  <p>After that I try to override createPriceRender to generate the block with template.
  I try to wrap my head around for several days now. That's why I'm trying to push my minimal tier price in the FinalPriceBox / final_price.phtml template as in this code:</p>
  
  <pre><code> public function createPriceRender(
      $priceCode,
      SaleableInterface $saleableItem,
      array $data = []
  )
  {
      if (isset($data['special_price']) &amp;&amp; $data['special_price'] == 'member_price') {
          $renderClassName = FinalPriceBox::class;
          $blockTemplate = 'Magento_Catalog::product/price/final_price.phtml';
  
          $product = $this-&gt;getProduct($saleableItem-&gt;getId());
  
          $price = $this-&gt;getMemberPrice($product);
          //$price = $saleableItem-&gt;getPriceInfo()-&gt;getPrice($priceCode);
          //$price = $product-&gt;getPriceInfo()-&gt;getPrice('final_price');
  
          $arguments['data'] = $data;
          $arguments['rendererPool'] = $this;
          $arguments['price'] = $price;
          $arguments['saleableItem'] = $saleableItem;
          //$arguments['member_price'] = true;
  
          /** @var \Magento\Framework\View\Element\Template $renderBlock */
          $renderBlock = $this-&gt;getLayout()-&gt;createBlock($renderClassName, '', $arguments);
  
  
          if (!$renderBlock instanceof PriceBoxRenderInterface) {
  
              throw new \InvalidArgumentException(
                  'Block "' . $renderClassName . '" must implement \Magento\Framework\Pricing\Render\PriceBoxRenderInterface'
              );
          }
          $renderBlock-&gt;setTemplate($blockTemplate);
  
          return $renderBlock;
  
      } else {
          //original code here
          return parent::createPriceRender($priceCode, $saleableItem, $data);
      }
  }
  </code></pre>
  
  <p>I get following error when I try this</p>
  
  <pre><code> Fatal error: Uncaught TypeError: Argument 3 passed to Magento\Catalog\Pricing\Render\FinalPriceBox\Interceptor::__construct() must implement interface Magento\Framework\Pricing\Price\PriceInterface, instance of Magento\Catalog\Model\Product\TierPrice given
  </code></pre>
  
  <p>It's quite clear what's the error about. But anyway I want to get my tier price, but with the priceinterface implemented (as the original Rendererpool gets for final prices etc.) </p>
  
  <p>Should I get my tier prices in another way? </p>