diff --git a/modules/order/src/Entity/Order.php b/modules/order/src/Entity/Order.php
index 7705ce46..fb03121a 100644
--- a/modules/order/src/Entity/Order.php
+++ b/modules/order/src/Entity/Order.php
@@ -510,6 +510,18 @@ class Order extends CommerceContentEntityBase implements OrderInterface {
     return $this;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function unsetData($key) {
+    if (!$this->get('data')->isEmpty()) {
+      $data = $this->get('data')->first()->getValue();
+      unset($data[$key]);
+      $this->set('data', $data);
+    }
+    return $this;
+  }
+
   /**
    * {@inheritdoc}
    */
diff --git a/modules/order/src/Entity/OrderInterface.php b/modules/order/src/Entity/OrderInterface.php
index fe3ff55e..038de8a4 100644
--- a/modules/order/src/Entity/OrderInterface.php
+++ b/modules/order/src/Entity/OrderInterface.php
@@ -377,6 +377,16 @@ interface OrderInterface extends ContentEntityInterface, EntityAdjustableInterfa
    */
   public function setData($key, $value);
 
+  /**
+   * Unsets an order data value with the given key.
+   *
+   * @param string $key
+   *   The key.
+   *
+   * @return $this
+   */
+  public function unsetData($key);
+
   /**
    * Gets whether the order is locked.
    *
diff --git a/modules/order/src/Entity/OrderItem.php b/modules/order/src/Entity/OrderItem.php
index 5356c69b..d90d103d 100644
--- a/modules/order/src/Entity/OrderItem.php
+++ b/modules/order/src/Entity/OrderItem.php
@@ -288,6 +288,18 @@ class OrderItem extends CommerceContentEntityBase implements OrderItemInterface
     return $this;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function unsetData($key) {
+    if (!$this->get('data')->isEmpty()) {
+      $data = $this->get('data')->first()->getValue();
+      unset($data[$key]);
+      $this->set('data', $data);
+    }
+    return $this;
+  }
+
   /**
    * {@inheritdoc}
    */
diff --git a/modules/order/src/Entity/OrderItemInterface.php b/modules/order/src/Entity/OrderItemInterface.php
index fe0f546b..e96d6f45 100644
--- a/modules/order/src/Entity/OrderItemInterface.php
+++ b/modules/order/src/Entity/OrderItemInterface.php
@@ -196,6 +196,16 @@ interface OrderItemInterface extends ContentEntityInterface, EntityAdjustableInt
    */
   public function setData($key, $value);
 
+  /**
+   * Unsets an order item data value with the given key.
+   *
+   * @param string $key
+   *   The key.
+   *
+   * @return $this
+   */
+  public function unsetData($key);
+
   /**
    * Gets the order item creation timestamp.
    *
diff --git a/modules/order/tests/src/Kernel/Entity/OrderItemTest.php b/modules/order/tests/src/Kernel/Entity/OrderItemTest.php
index 314fb009..acfae5b7 100644
--- a/modules/order/tests/src/Kernel/Entity/OrderItemTest.php
+++ b/modules/order/tests/src/Kernel/Entity/OrderItemTest.php
@@ -69,6 +69,7 @@ class OrderItemTest extends CommerceKernelTestBase {
    * @covers ::getAdjustedUnitPrice
    * @covers ::getData
    * @covers ::setData
+   * @covers ::unsetData
    * @covers ::getCreatedTime
    * @covers ::setCreatedTime
    */
@@ -130,6 +131,9 @@ class OrderItemTest extends CommerceKernelTestBase {
     $this->assertEquals('default', $order_item->getData('test', 'default'));
     $order_item->setData('test', 'value');
     $this->assertEquals('value', $order_item->getData('test', 'default'));
+    $order_item->unsetData('test');
+    $this->assertNull($order_item->getData('test'));
+    $this->assertEquals('default', $order_item->getData('test', 'default'));
 
     $order_item->setCreatedTime(635879700);
     $this->assertEquals(635879700, $order_item->getCreatedTime());
diff --git a/modules/order/tests/src/Kernel/Entity/OrderTest.php b/modules/order/tests/src/Kernel/Entity/OrderTest.php
index 05213521..b7fbd072 100644
--- a/modules/order/tests/src/Kernel/Entity/OrderTest.php
+++ b/modules/order/tests/src/Kernel/Entity/OrderTest.php
@@ -107,6 +107,7 @@ class OrderTest extends CommerceKernelTestBase {
    * @covers ::setRefreshState
    * @covers ::getData
    * @covers ::setData
+   * @covers ::unsetData
    * @covers ::isLocked
    * @covers ::lock
    * @covers ::unlock
@@ -278,6 +279,9 @@ class OrderTest extends CommerceKernelTestBase {
     $this->assertEquals('default', $order->getData('test', 'default'));
     $order->setData('test', 'value');
     $this->assertEquals('value', $order->getData('test', 'default'));
+    $order->unsetData('test');
+    $this->assertNull($order->getData('test'));
+    $this->assertEquals('default', $order->getData('test', 'default'));
 
     $this->assertFalse($order->isLocked());
     $order->lock();
