diff --git a/commerce_sagepay_direct.module b/commerce_sagepay_direct.module
index 49dea3a..6c6c004 100644
--- a/commerce_sagepay_direct.module
+++ b/commerce_sagepay_direct.module
@@ -70,6 +70,7 @@ function commerce_sagepay_direct_settings_form($settings = NULL) {
     'txn_3d_secure' => 0,
     'use_test_data' => 1,
     'bypass_commerce_card_validation' => 0,
+    'enabled_cards' => array(),
   );
 
   $form['vendor_name'] = array(
@@ -163,31 +164,63 @@ function commerce_sagepay_direct_settings_form($settings = NULL) {
     '#default_value' => $settings['bypass_commerce_card_validation'],
   );
 
+  $form['enabled_cards'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Enabled card types'),
+    '#description' => t('Select the card types you want to accept. If none are selected then it is assumed that all card types are accepted.'),
+    '#default_value' => $settings['enabled_cards'],
+    '#options' => _commerce_sagepay_direct_all_card_names(),
+  );
+
   return $form;
 }
 
 /**
+ * Helper function to use Commerce to fetch the Card names
+ */
+function _commerce_sagepay_direct_all_card_names() {
+  module_load_include('inc', 'commerce_payment', 'includes/commerce_payment.credit_card');
+
+  $types = array_fill_keys(_commerce_sagepay_direct_all_card_types(), '');
+  $names = commerce_payment_credit_card_types();
+
+  return array_intersect_key($names, $types);
+}
+
+/**
+ * The card types that SagePay supports.
+ */
+function _commerce_sagepay_direct_all_card_types() {
+  return array(
+    'visa',
+    'visaelectron',
+    'mastercard',
+    'amex',
+    'maestro',
+    'delta',
+    'dc',
+    'jcb',
+    'laser',
+  );
+}
+
+/**
  * Payment method callback: checkout form.
  */
 function commerce_sagepay_direct_submit_form($payment_method, $pane_values, $checkout_pane, $order) {
   module_load_include('inc', 'commerce_payment', 'includes/commerce_payment.credit_card');
 
+  $card_types = $payment_method['settings']['enabled_cards'];
+  if (empty($card_types)) {
+    $card_types = _commerce_sagepay_direct_all_card_types();
+  }
+
   $credit_card_settings = array(
-    'type'=>array(
-      'visa',
-      'visaelectron',
-      'mastercard',
-      'amex',
-      'maestro',
-      'delta',
-      'dc',
-      'jcb',
-      'laser'
-    ),
-    'number'=>'',
-    'start_date'=>'',
-    'issue'=>'',
-    'code'=>''
+    'type' => $card_types,
+    'number' => '',
+    'start_date' => '',
+    'issue' => '',
+    'code' => ''
   );
 
   return commerce_payment_credit_card_form($credit_card_settings);
