We have two separate zencart websites. One serves our EU customers, and the other serves our rest of world (RW) customers (US, Canada, Russia, etc). We have a UK Payflow account. We have USD and GBP setup in our PayPal account so that we can accept payments in both of these currencies. On our EU zencart website GBP is the default currency. On our RW zencart USD is the default currency. On our EU zencart we are using PayPal Express Payflow Edition (UK) with GBP configured as the "Transaction Currency". On our RW Zencart, we have USD configured as the "Transaction Currency", but payments fail if we try to us Payflow (both standard and UK edition). We are only able to use plain vanilla "PayPal" (no Payflow). Every thing is working correctly on the EU Zencart with GBP as the Transaction Currency. On the RW Zencart where we have USD as the Transaction currency, we get the following error message when we try to use Payflow:

Code:
 ALERT: PayPal Express Checkout Error (7)
7 Field format error: 10444-The transaction currency specified must be the same as previously specified. - 7
Everything is configured correctly and is the same as when we used 1.3.9h. I have dropped the 1.3.9h paypalwpp.php into my 1.5.0 modules/payments/paypal/ directory, and "1.5.0" works correctly again. As soon as I go back to the 1.5.0 paypalwpp.php it breaks.

The first two EC CURL files are OK. The third one has this:

Code:
Request Parameters: {DoExpressCheckoutPayment} 
Array
(
    [AMT] => 14.48
    [ITEMAMT] => 10.98
    [SHIPPINGAMT] => 3.50
    [L_NUMBER0] => xxxxx
    [L_NAME0] => ** xxxxxxxxx [1254]
    [L_QTY0] => 2
    [L_AMT0] => 5.49
    [SHIPTONAME] => xxx xxxxxx
    [SHIPTOSTREET] => xxx xxxxx xxxxx
    [SHIPTOCITY] => Franklin
    [SHIPTOSTATE] => IN
    [SHIPTOZIP] => 46131
    [SHIPTOCOUNTRYCODE] => 
    [BUTTONSOURCE] => ZenCart-EC_uk
    [RETURNFMFDETAILS] => 0
    [CUSTOM] => EC-2960-1334096515
    [INVNUM] => 2960-1334096515-[xxxxxxxxxxx]
    [CURRENCY] => USD
    [TOKEN] => EC-6XW2877162633005S
    [PAYERID] => 6CBQF9K8Z3Q5S
    [ACTION] => D
    [TENDER] => P
    [TRXTYPE] => S
    [NOTIFYURL] => https://www.xxxxxxxxxxxxxxx.com/us/ipn_main_handler.php
    [REQUEST_ID] => 1334096515
    [USER] => LW2GLPE3FD
    [PWD] => ****************
    [PARTNER] => PayPalUK
    [VENDOR] => xxxxxxxxxx
)


Response: 
Array
(
    [RESULT] => 7
    [PNREF] => ETYP8F2ABF45
    [RESPMSG] => Field format error: 10444-The transaction currency specified must be the same as previously specified.
    [AVSADDR] => N
    [AVSZIP] => N
    [REQUEST_ID] => 1334096515
    [CURL_ERRORS] => 
)


DoExpressCheckoutPayment, Elapsed: 683ms -- Failed

RESULT=7&PNREF=ETYP8F2ABF45&RESPMSG=Field format error: 10444-The transaction currency specified must be the same as previously specified.&AVSADDR=N&AVSZIP=N&REQUEST_ID=1334096515&CURL_ERRORS=
At no stage during the transaction does the currency change from USD, so why does PayPal think that it has?