diff --git a/src/Plugin/Payment/LineItem/PaymentLineItemBase.php b/src/Plugin/Payment/LineItem/PaymentLineItemBase.php
index 978879a..68da4ed 100644
--- a/src/Plugin/Payment/LineItem/PaymentLineItemBase.php
+++ b/src/Plugin/Payment/LineItem/PaymentLineItemBase.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\payment\Plugin\Payment\LineItem;
 
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Plugin\PluginBase;
 use Drupal\payment\PaymentAwareTrait;
@@ -16,7 +17,7 @@ use Drupal\payment\PaymentAwareTrait;
  * Plugins extending this class should provide a configuration schema that
  * extends plugin.plugin_configuration.line_item.payment_base.
  */
-abstract class PaymentLineItemBase extends PluginBase implements PaymentLineItemInterface {
+abstract class PaymentLineItemBase extends PluginBase implements PaymentLineItemInterface, ConfigurablePluginInterface {
 
   use PaymentAwareTrait;
 
diff --git a/src/Plugin/Payment/LineItem/PaymentLineItemInterface.php b/src/Plugin/Payment/LineItem/PaymentLineItemInterface.php
index 3915988..ac2f21e 100644
--- a/src/Plugin/Payment/LineItem/PaymentLineItemInterface.php
+++ b/src/Plugin/Payment/LineItem/PaymentLineItemInterface.php
@@ -6,15 +6,19 @@
 
 namespace Drupal\payment\Plugin\Payment\LineItem;
 
-use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Component\Plugin\PluginInspectionInterface;
 use Drupal\Core\Plugin\PluginFormInterface;
 use Drupal\payment\PaymentAwareInterface;
 
 /**
  * A payment line item.
+ *
+ * Plugins can additionally implement the following interfaces:
+ * - \Drupal\Component\Plugin\ConfigurablePluginInterface
+ *   Required if the plugin has any internal configuration, so it can be
+ *   exported for recreation of the plugin at a later time.
  */
-interface PaymentLineItemInterface extends PluginInspectionInterface, ConfigurablePluginInterface, PluginFormInterface, PaymentAwareInterface {
+interface PaymentLineItemInterface extends PluginInspectionInterface, PluginFormInterface, PaymentAwareInterface {
 
   /**
    * Gets the amount.
diff --git a/src/Plugin/Payment/Method/PaymentMethodBase.php b/src/Plugin/Payment/Method/PaymentMethodBase.php
index 3012301..39cd290 100644
--- a/src/Plugin/Payment/Method/PaymentMethodBase.php
+++ b/src/Plugin/Payment/Method/PaymentMethodBase.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\payment\Plugin\Payment\Method;
 
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Core\Access\AccessResult;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Cache\CacheableDependencyInterface;
@@ -31,7 +32,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  *   form.
  * - message_text_format: The ID of the text format to format message_text with.
  */
-abstract class PaymentMethodBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentMethodInterface, PaymentMethodCapturePaymentInterface, PaymentMethodRefundPaymentInterface, PluginFormInterface, CacheableDependencyInterface {
+abstract class PaymentMethodBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentMethodInterface, PaymentMethodCapturePaymentInterface, PaymentMethodRefundPaymentInterface, PluginFormInterface, CacheableDependencyInterface, ConfigurablePluginInterface {
 
   use PaymentAwareTrait;
 
diff --git a/src/Plugin/Payment/Method/PaymentMethodInterface.php b/src/Plugin/Payment/Method/PaymentMethodInterface.php
index 89a7951..f6fdcb1 100644
--- a/src/Plugin/Payment/Method/PaymentMethodInterface.php
+++ b/src/Plugin/Payment/Method/PaymentMethodInterface.php
@@ -6,7 +6,6 @@
 
 namespace Drupal\payment\Plugin\Payment\Method;
 
-use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Component\Plugin\PluginInspectionInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\payment\PaymentAwareInterface;
@@ -26,8 +25,11 @@ use Drupal\payment\PaymentAwareInterface;
  * - \Drupal\payment\Plugin\Payment\Method\PaymentMethodCapturePaymentInterface:
  *   This interface lets payment methods capture already authorized payments.
  * - \Drupal\Core\Cache\CacheableDependencyInterface
+ * - \Drupal\Component\Plugin\ConfigurablePluginInterface
+ *   Required if the plugin has any internal configuration, so it can be
+ *   exported for recreation of the plugin at a later time.
  */
-interface PaymentMethodInterface extends PluginInspectionInterface, ConfigurablePluginInterface, PaymentAwareInterface {
+interface PaymentMethodInterface extends PluginInspectionInterface, PaymentAwareInterface {
 
   /**
    * Checks if the payment can be executed.
diff --git a/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationBase.php b/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationBase.php
index e653a55..676924a 100644
--- a/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationBase.php
+++ b/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationBase.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\payment\Plugin\Payment\MethodConfiguration;
 
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\FormStateInterface;
@@ -20,7 +21,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  * extends
  * plugin.plugin_configuration.payment_method_configuration.payment_base.
  */
-abstract class PaymentMethodConfigurationBase extends PluginBase implements PaymentMethodConfigurationInterface {
+abstract class PaymentMethodConfigurationBase extends PluginBase implements PaymentMethodConfigurationInterface, ConfigurablePluginInterface {
 
   /**
    * The module handler.
diff --git a/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationInterface.php b/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationInterface.php
index acd9dc8..c8168c3 100644
--- a/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationInterface.php
+++ b/src/Plugin/Payment/MethodConfiguration/PaymentMethodConfigurationInterface.php
@@ -6,13 +6,17 @@
 
 namespace Drupal\payment\Plugin\Payment\MethodConfiguration;
 
-use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Component\Plugin\PluginInspectionInterface;
 use Drupal\Core\Plugin\PluginFormInterface;
 
 /**
  * A payment method configuration plugin.
+ *
+ * Plugins can additionally implement the following interfaces:
+ * - \Drupal\Component\Plugin\ConfigurablePluginInterface
+ *   Required if the plugin has any internal configuration, so it can be
+ *   exported for recreation of the plugin at a later time.
  */
-interface PaymentMethodConfigurationInterface extends PluginInspectionInterface, ConfigurablePluginInterface, PluginFormInterface {
+interface PaymentMethodConfigurationInterface extends PluginInspectionInterface, PluginFormInterface {
 
 }
diff --git a/src/Plugin/Payment/Status/PaymentStatusBase.php b/src/Plugin/Payment/Status/PaymentStatusBase.php
index f4789a2..4241525 100644
--- a/src/Plugin/Payment/Status/PaymentStatusBase.php
+++ b/src/Plugin/Payment/Status/PaymentStatusBase.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\payment\Plugin\Payment\Status;
 
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Core\Datetime\DrupalDateTime;
 use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\Form\FormStateInterface;
@@ -22,7 +23,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  * Plugins extending this class should provide a configuration schema that
  * extends plugin.plugin_configuration.payment_status.payment_base.
  */
-abstract class PaymentStatusBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentStatusInterface, PluginFormInterface {
+abstract class PaymentStatusBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentStatusInterface, PluginFormInterface, ConfigurablePluginInterface {
 
   use PaymentAwareTrait;
 
diff --git a/src/Plugin/Payment/Status/PaymentStatusInterface.php b/src/Plugin/Payment/Status/PaymentStatusInterface.php
index 60bcbe0..bb152b5 100644
--- a/src/Plugin/Payment/Status/PaymentStatusInterface.php
+++ b/src/Plugin/Payment/Status/PaymentStatusInterface.php
@@ -6,7 +6,6 @@
 
 namespace Drupal\payment\Plugin\Payment\Status;
 
-use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Component\Plugin\PluginInspectionInterface;
 use Drupal\payment\PaymentAwareInterface;
 
@@ -15,8 +14,11 @@ use Drupal\payment\PaymentAwareInterface;
  *
  * Plugins can additionally implement the following interfaces:
  * - \Drupal\Core\Plugin\PluginFormInterface
+ * - \Drupal\Component\Plugin\ConfigurablePluginInterface
+ *   Required if the plugin has any internal configuration, so it can be
+ *   exported for recreation of the plugin at a later time.
  */
-interface PaymentStatusInterface extends PluginInspectionInterface, ConfigurablePluginInterface, PaymentAwareInterface {
+interface PaymentStatusInterface extends PluginInspectionInterface, PaymentAwareInterface {
 
   /**
    * Sets the created date and time.
diff --git a/src/Plugin/Payment/Type/PaymentTypeBase.php b/src/Plugin/Payment/Type/PaymentTypeBase.php
index 773423d..7186dc4 100644
--- a/src/Plugin/Payment/Type/PaymentTypeBase.php
+++ b/src/Plugin/Payment/Type/PaymentTypeBase.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\payment\Plugin\Payment\Type;
 
+use Drupal\Component\Plugin\ConfigurablePluginInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\Core\Plugin\PluginBase;
 use Drupal\payment\EventDispatcherInterface;
@@ -15,7 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 /**
  * Defines base payment type.
  */
-abstract class PaymentTypeBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentTypeInterface {
+abstract class PaymentTypeBase extends PluginBase implements ContainerFactoryPluginInterface, PaymentTypeInterface, ConfigurablePluginInterface {
 
   use PaymentAwareTrait;
 
diff --git a/src/Plugin/Payment/Type/PaymentTypeInterface.php b/src/Plugin/Payment/Type/PaymentTypeInterface.php
index d3b74d4..61ab0f9 100644
--- a/src/Plugin/Payment/Type/PaymentTypeInterface.php
+++ b/src/Plugin/Payment/Type/PaymentTypeInterface.php
@@ -13,8 +13,13 @@ use Drupal\payment\PaymentAwareInterface;
 
 /**
  * A payment type plugin.
+ *
+ * Plugins can additionally implement the following interfaces:
+ * - \Drupal\Component\Plugin\ConfigurablePluginInterface
+ *   Required if the plugin has any internal configuration, so it can be
+ *   exported for recreation of the plugin at a later time.
  */
-interface PaymentTypeInterface extends PluginInspectionInterface, ConfigurablePluginInterface, PaymentAwareInterface {
+interface PaymentTypeInterface extends PluginInspectionInterface, PaymentAwareInterface {
 
   /**
    * Returns the description of the payment this plugin is of.
