diff --git a/modules/checkout/src/Plugin/Commerce/CheckoutPane/BillingInformation.php b/modules/checkout/src/Plugin/Commerce/CheckoutPane/BillingInformation.php
index f2f1313..8bf3230 100644
--- a/modules/checkout/src/Plugin/Commerce/CheckoutPane/BillingInformation.php
+++ b/modules/checkout/src/Plugin/Commerce/CheckoutPane/BillingInformation.php
@@ -6,7 +6,6 @@ use Drupal\commerce_checkout\Plugin\Commerce\CheckoutFlow\CheckoutFlowInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\Core\Render\RendererInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -29,13 +28,6 @@ class BillingInformation extends CheckoutPaneBase implements CheckoutPaneInterfa
   protected $entityTypeManager;
 
   /**
-   * The renderer.
-   *
-   * @var \Drupal\Core\Render\RendererInterface
-   */
-  protected $renderer;
-
-  /**
    * Constructs a new BillingInformation object.
    *
    * @param array $configuration
@@ -48,14 +40,11 @@ class BillingInformation extends CheckoutPaneBase implements CheckoutPaneInterfa
    *   The parent checkout flow.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
-   * @param \Drupal\Core\Render\RendererInterface $renderer
-   *   The renderer.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, CheckoutFlowInterface $checkout_flow, EntityTypeManagerInterface $entity_type_manager, RendererInterface $renderer) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, CheckoutFlowInterface $checkout_flow, EntityTypeManagerInterface $entity_type_manager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition, $checkout_flow);
 
     $this->entityTypeManager = $entity_type_manager;
-    $this->renderer = $renderer;
   }
 
   /**
@@ -67,8 +56,7 @@ class BillingInformation extends CheckoutPaneBase implements CheckoutPaneInterfa
       $plugin_id,
       $plugin_definition,
       $checkout_flow,
-      $container->get('entity_type.manager'),
-      $container->get('renderer')
+      $container->get('entity_type.manager')
     );
   }
 
@@ -76,13 +64,11 @@ class BillingInformation extends CheckoutPaneBase implements CheckoutPaneInterfa
    * {@inheritdoc}
    */
   public function buildPaneSummary() {
-    $summary = '';
     if ($billing_profile = $this->order->getBillingProfile()) {
       $profile_view_builder = $this->entityTypeManager->getViewBuilder('profile');
-      $summary = $profile_view_builder->view($billing_profile, 'default');
-      $summary = $this->renderer->render($summary);
+      return $profile_view_builder->view($billing_profile, 'default');
     }
-    return $summary;
+    return [];
   }
 
   /**
diff --git a/modules/checkout/src/Plugin/Commerce/CheckoutPane/CheckoutPaneInterface.php b/modules/checkout/src/Plugin/Commerce/CheckoutPane/CheckoutPaneInterface.php
index 3f44b3a..72515fa 100644
--- a/modules/checkout/src/Plugin/Commerce/CheckoutPane/CheckoutPaneInterface.php
+++ b/modules/checkout/src/Plugin/Commerce/CheckoutPane/CheckoutPaneInterface.php
@@ -113,8 +113,8 @@ interface CheckoutPaneInterface extends ConfigurablePluginInterface, PluginFormI
    * To skip showing a summary for a non-visible pane, check isVisible()
    * and return an empty string.
    *
-   * @return string
-   *   An HTML summary of the pane values.
+   * @return array
+   *   An render array summary of the pane values.
    */
   public function buildPaneSummary();
 
diff --git a/modules/checkout/src/Plugin/Commerce/CheckoutPane/ContactInformation.php b/modules/checkout/src/Plugin/Commerce/CheckoutPane/ContactInformation.php
index c360590..e29ea35 100644
--- a/modules/checkout/src/Plugin/Commerce/CheckoutPane/ContactInformation.php
+++ b/modules/checkout/src/Plugin/Commerce/CheckoutPane/ContactInformation.php
@@ -78,7 +78,13 @@ class ContactInformation extends CheckoutPaneBase implements CheckoutPaneInterfa
    * {@inheritdoc}
    */
   public function buildPaneSummary() {
-    return $this->order->getEmail();
+    return [
+      '#type' => 'inline_template',
+      '#template' => '{{ email }}',
+      '#context' => [
+        'email' => $this->order->getEmail(),
+      ],
+    ];
   }
 
   /**
diff --git a/modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php b/modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php
index 1277e0e..8b9dc9a 100644
--- a/modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php
+++ b/modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php
@@ -38,9 +38,7 @@ class Review extends CheckoutPaneBase implements CheckoutPaneInterface {
           '#type' => 'fieldset',
           '#title' => $label,
         ];
-        $pane_form[$pane_id]['summary'] = [
-          '#markup' => $summary,
-        ];
+        $pane_form[$pane_id]['summary'] = $summary;
       }
     }
 
diff --git a/modules/payment/src/Plugin/Commerce/CheckoutPane/PaymentInformation.php b/modules/payment/src/Plugin/Commerce/CheckoutPane/PaymentInformation.php
index 2b275e1..6782f93 100644
--- a/modules/payment/src/Plugin/Commerce/CheckoutPane/PaymentInformation.php
+++ b/modules/payment/src/Plugin/Commerce/CheckoutPane/PaymentInformation.php
@@ -11,7 +11,6 @@ use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\Core\Render\RendererInterface;
 use Drupal\profile\Entity\Profile;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -35,13 +34,6 @@ class PaymentInformation extends CheckoutPaneBase implements ContainerFactoryPlu
   protected $entityTypeManager;
 
   /**
-   * The renderer.
-   *
-   * @var \Drupal\Core\Render\RendererInterface
-   */
-  protected $renderer;
-
-  /**
    * Constructs a new PaymentInformation object.
    *
    * @param array $configuration
@@ -54,14 +46,11 @@ class PaymentInformation extends CheckoutPaneBase implements ContainerFactoryPlu
    *   The parent checkout flow.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
-   * @param \Drupal\Core\Render\RendererInterface $renderer
-   *   The renderer.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, CheckoutFlowInterface $checkout_flow, EntityTypeManagerInterface $entity_type_manager, RendererInterface $renderer) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, CheckoutFlowInterface $checkout_flow, EntityTypeManagerInterface $entity_type_manager) {
     parent::__construct($configuration, $plugin_id, $plugin_definition, $checkout_flow);
 
     $this->entityTypeManager = $entity_type_manager;
-    $this->renderer = $renderer;
   }
 
   /**
@@ -73,8 +62,7 @@ class PaymentInformation extends CheckoutPaneBase implements ContainerFactoryPlu
       $plugin_id,
       $plugin_definition,
       $checkout_flow,
-      $container->get('entity_type.manager'),
-      $container->get('renderer')
+      $container->get('entity_type.manager')
     );
   }
 
@@ -82,7 +70,7 @@ class PaymentInformation extends CheckoutPaneBase implements ContainerFactoryPlu
    * {@inheritdoc}
    */
   public function buildPaneSummary() {
-    $summary = '';
+    $summary = [];
     /** @var \Drupal\commerce_payment\Entity\PaymentGatewayInterface $payment_gateway */
     $payment_gateway = $this->order->payment_gateway->entity;
     if (!$payment_gateway) {
@@ -93,16 +81,22 @@ class PaymentInformation extends CheckoutPaneBase implements ContainerFactoryPlu
     $payment_method = $this->order->payment_method->entity;
     if ($payment_gateway_plugin instanceof SupportsStoredPaymentMethodsInterface && $payment_method) {
       $view_builder = $this->entityTypeManager->getViewBuilder('commerce_payment_method');
-      $payment_method_view = $view_builder->view($payment_method, 'default');
-      $summary = $this->renderer->render($payment_method_view);
+      return $view_builder->view($payment_method, 'default');
     }
     else {
       $billing_profile = $this->order->getBillingProfile();
       if ($billing_profile) {
         $profile_view_builder = $this->entityTypeManager->getViewBuilder('profile');
         $profile_view = $profile_view_builder->view($billing_profile, 'default');
-        $summary = $payment_gateway->getPlugin()->getDisplayLabel();
-        $summary .= $this->renderer->render($profile_view);
+        $label = $payment_gateway->getPlugin()->getDisplayLabel();
+        return [
+          '#type' => 'inline_template',
+          '#template' => '{{ label }} {{ profile }}',
+          '#context' => [
+            'profile' => $profile_view,
+            'label' => $label,
+          ],
+        ];
       }
     }
 
