diff -urN commerce_paypal/modules/wpp/commerce_paypal_wpp.module /www/drupal7/html/sites/all/modules/commerce_paypal/modules/wpp/commerce_paypal_wpp.module
--- commerce_paypal/modules/wpp/commerce_paypal_wpp.module	2012-02-04 16:14:38.000000000 +0200
+++ /www/drupal7/html/sites/all/modules/commerce_paypal/modules/wpp/commerce_paypal_wpp.module	2012-04-13 02:57:12.186539585 +0300
@@ -174,6 +174,19 @@
 function commerce_paypal_wpp_submit_form_submit($payment_method, $pane_form, $pane_values, $order, $charge) {
   $order_wrapper = entity_metadata_wrapper('commerce_order', $order);
 
+  // Calculate gateway amount [currency] from current amount [currency]
+  // prepare variables
+  $from_amount = $charge['amount'];
+  $from_currency_code = $charge['currency_code'];
+  $to_currency_code = $payment_method['settings']['currency_code'];
+  $to_currency = commerce_currency_load($to_currency_code);
+  // do the alculation
+  $to_amount = commerce_currency_amount_to_decimal( $from_amount, $from_currency_code, false );
+  $to_amount = commerce_currency_convert( $to_amount, $from_currency_code, $to_currency_code );
+  $to_amount = commerce_currency_round( $to_amount, $to_currency );
+  // the result
+  $amount = $to_amount;
+
   // Build a name-value pair array for this transaction.
   $nvp = array(
     'METHOD' => 'DoDirectPayment',
@@ -183,7 +196,7 @@
     'CREDITCARDTYPE' => commerce_paypal_wpp_card_type($pane_values['credit_card']['type']),
     'ACCT' => $pane_values['credit_card']['number'],
     'EXPDATE' => $pane_values['credit_card']['exp_month'] . $pane_values['credit_card']['exp_year'],
-    'AMT' => commerce_currency_amount_to_decimal(commerce_currency_convert($charge['amount'], $charge['currency_code'], $payment_method['settings']['currency_code']), $charge['currency_code']),
+    'AMT' => $amount,
     'CURRENCYCODE' => $payment_method['settings']['currency_code'],
   );
 
