--- uc_node_checkout.module 
+++ uc_node_checkout-new.module 
@@ -431,6 +431,11 @@
     $get[] = 'qty='. intval($form_state['values']['qty']);
   }
 
+  // If uc_varprice module is used, pass the user-entered price
+  if (!empty($form_state['values']['varprice']) && floatval($form_state['values']['varprice']) > 0) {
+    $get[] = 'varprice='. floatval($form_state['values']['varprice']);
+  }
+
   // Pass the attributes selections in the URL.
   $attr = array();
 
@@ -566,6 +571,11 @@
           'nid' => $product->nid,
           'qty' => $product->default_qty,
         );
+
+        // Add uc_varprice compatibility
+        if (module_exists(uc_varprice) && ($_GET['varprice'])) {
+          $values['varprice'] = floatval($_GET['varprice']);
+        }
 
         // Add any attribute values if they exist.
         if (isset($node->attributes)) {
