diff --git a/uc_ebs.module b/uc_ebs.module
index 2673202..c31f0b9 100644
--- a/uc_ebs.module
+++ b/uc_ebs.module
@@ -280,9 +280,19 @@ TRUE))), WATCHDOG_ERROR);
     drupal_goto('<front>');
   }
   
+  //reconvert the total amount from INR to store currency
+  $converted_amount = currency_api_convert('INR', variable_get('uc_currency_code', 'USD'), $response['Amount']);
+  
+  //ignore any difference in fraction due to double conversion of currency.
+  // eg. 15 USD converted to INR 688.875
+  // but INR 688.875 gets converted to 15.017475 USD 
+  $balance = (int) ($order->order_total - $converted_amount['value']);
+  
+  $amount = ($balance) ? $converted_amount : $order->order_total;
+  
   // I don't see any way in the manual to handle partial payments, or to know if it's a partial payment
   // like PayPal does ...
-  uc_payment_enter($order->order_id, 'ebs', $response['Amount'], $order->uid, NULL, $response['ResponseMessage']);
+  uc_payment_enter($order->order_id, 'ebs', $amount, $order->uid, NULL, $response['ResponseMessage']);
   uc_cart_complete_sale($order);
   
   // Mark the payent on the order log.
