Hello,
Was suffering the same problem. I use the standard paypal.php module in includes>modules>payments .
It appears the issue could be with the "cmd" _xclick method. It has also been suggested that _xclick is being phased out but I cannot find an official answer from PayPal.
The following changes from _xclick to _cart method.
1. Backup includes>modules>payments>paypal.php
2. Backup includes>modules>payments>paypal.php !!!!
3. Open paypal.php in an editor and find $process_button_string (approx line 88)
4. Change
$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
to
$process_button_string = tep_draw_hidden_field('cmd', '_cart') .
5. Add an extra hidden field
tep_draw_hidden_field('upload', '1') .
You can copy and paste this line into the string after
$process_button_string = tep_draw_hidden_field('cmd', '_cart') .
6. Change
tep_draw_hidden_field('item_name', STORE_NAME) .
to
tep_draw_hidden_field('item_name_1', STORE_NAME) .
7. Change
tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
to
tep_draw_hidden_field('amount_1', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
8. Change
tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency)))
to
tep_draw_hidden_field('shipping_1', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency)))
9. Save and upload.
10. Run a checkout test to PayPal.
Hope this helps.
Many Thanks,
Shaun
hejhog