diff --git a/modules/wps/commerce_paypal_wps.module b/modules/wps/commerce_paypal_wps.module
index 1e6146d..caec680 100644
--- a/modules/wps/commerce_paypal_wps.module
+++ b/modules/wps/commerce_paypal_wps.module
@@ -46,6 +46,7 @@ function commerce_paypal_wps_settings_form($settings = NULL) {
     'server' => 'sandbox',
     'payment_action' => 'sale',
     'ipn_logging' => 'notification',
+    'paypal_cart_type' => 'send_cart',
   );
 
   $form['business'] = array(
@@ -95,7 +96,15 @@ function commerce_paypal_wps_settings_form($settings = NULL) {
     ),
     '#default_value' => $settings['ipn_logging'],
   );
-
+  $form['paypal_cart_type'] = array(
+    '#type' => 'select',
+    '#title' => t('Send full cart list to Paypal'),
+    '#options' => array(
+    'send_cart' => t('Yes'),
+    'send_overview' => t('No'),
+  ),
+    '#default_value' => $settings['paypal_cart_type'],
+  );
   return $form;
 }
 
@@ -133,6 +142,10 @@ function commerce_paypal_wps_redirect_form($form, &$form_state, $order, $payment
 
     // Specify the current payment method instance ID in the notify_url
     'payment_method' => $payment_method['instance_id'],
+
+    // Setting to send full cart list to Paypal
+   'paypal_cart_type' => variable_get('paypal_cart_type'),
+
   );
 
   return commerce_paypal_wps_order_form($form, $form_state, $order, $payment_method['settings'] + $settings);
@@ -309,14 +322,45 @@ function commerce_paypal_wps_order_form($form, &$form_state, $order, $settings)
 
     // Use the timestamp to generate a unique invoice number
     'invoice' => commerce_paypal_ipn_invoice($order),
-
-    // Define a single item in the cart representing the whole order
-    'amount_1' => round(commerce_currency_amount_to_decimal($amount, $currency_code), 2),
-    'item_name_1' => t('Order @order_number at @store', array('@order_number' => $order->order_number, '@store' => variable_get('site_name', url('<front>', array('absolute' => TRUE))))),
-    'on0_1' => t('Product count'),
-    'os0_1' => commerce_line_items_quantity($wrapper->commerce_line_items, commerce_product_line_item_types()),
   );
 
+  // Append items in cart to the $data array if setting is enabled.
+  if ($settings['paypal_cart_type'] == 'send_cart') {
+    $product_count = 0;
+    foreach ($wrapper->commerce_line_items as $delta => $line_item_wrapper) {
+      if (in_array($line_item_wrapper->type->value(), commerce_product_line_item_types())) {
+        $product_count++;
+        $data['item_name_' . $product_count] = $line_item_wrapper->commerce_product->title->value();
+        // Divide price by 100 to add decimal point.
+        $data['amount_' . $product_count] = $line_item_wrapper->commerce_unit_price->amount->value() / 100;
+        $data['quantity_' . $product_count] = round($line_item_wrapper->quantity->value(), 2);
+      }
+    }
+    // Add in shipping as a single line.
+    if (is_array($order->commerce_line_items[LANGUAGE_NONE])) {
+      $line_item_ids = array();
+      $line_items = $order->commerce_line_items[LANGUAGE_NONE];
+      foreach($line_items as $k => $v) {
+        $line_item_ids[$k] = $v['line_item_id'];
+      }
+    }
+    $shipping_line_item = (commerce_line_item_load_multiple($line_item_ids, $conditions = array('type' => 'shipping')));
+    foreach($shipping_line_item as $j => $w) {
+      $wrapper = entity_metadata_wrapper('commerce_line_item', $shipping_line_item[$j]);
+      $shipping_price = $wrapper->commerce_unit_price->value();
+      //optional - use if you know you only have one result
+      break;
+    }
+    $data['shipping_1'] = $shipping_price['amount'] / 100;
+  }
+  // Define a single item in the cart representing the whole order
+  else {
+    $data['on0_1'] = t('Product count');
+    $data['os0_1'] = commerce_line_items_quantity($wrapper->commerce_line_items, commerce_product_line_item_types());
+    $data['amount_1'] = round(commerce_currency_amount_to_decimal($amount, $currency_code), 2);
+    $data['item_name_1'] = t('Order @order_number at @store', array('@order_number' => $order->order_number, '@store' => variable_get('site_name', url('<front>', array('absolute' => TRUE)))));
+  }
+
   $form['#action'] = commerce_paypal_wps_server_url($settings['server']);
 
   foreach ($data as $name => $value) {
