Express Checkout via Payflow suddenly not working
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?
Re: Express Checkout via Payflow not working
What's the content of the PayPal-CURL log file for the {SetExpressCheckout} call which returned the TOKEN that's in the log you posted?
Re: Express Checkout via Payflow not working
This is from another failed transaction. Here's the {SetExpressCheckout} call:
Request Parameters: {SetExpressCheckout}
Array
(
[AMT] => 9.78
[ITEMAMT] => 9.78
[L_NUMBER0] => PM-00085
[L_NAME0] => xxxxx [2280]
[L_QTY0] => 2
[L_AMT0] => 4.89
[CURRENCYCODE] => USD
[LOCALECODE] => US
[GIFTMESSAGEENABLE] => 0
[GIFTRECEIPTEENABLE] => 0
[GIFTWRAPENABLE] => 0
[GIFTWRAPNAME] =>
[GIFTWRAPAMOUNT] => 0
[BUYEREMAILOPTINENABLE] => 0
[CUSTOMERSERVICENUMBER] => 44 (0)1908 xxxx
[BRANDNAME] => xxx xxx xxx
[PAYMENTACTION] => Sale
[ALLOWNOTE] => 1
[LANDINGPAGE] => Billing
[NOSHIPPING] => 0
[ACTION] => S
[TENDER] => P
[TRXTYPE] => S
[RETURNURL[64]] => https://www.xxxxxx.com/us/ipn_main_handler.php?type=ec
[CANCELURL[81]] => https://www.xxxxx.com/us/index.php?m...=shopping_cart
[ec_cancel] => 1
[PAGESTYLE] => Primary
[REQUEST_ID] => 1334099805
[USER] => xxxxxxxxxx
[PWD] => ****************
[PARTNER] => PayPalUK
[VENDOR] => xxxxxxxxxx
)
Response:
Array
(
[RESULT] => 0
[RESPMSG] => Approved
[TOKEN] => EC-7FW95205GA997835W
[CORRELATIONID] => 473b3121ef4d
[REQUEST_ID] => 1334099805
[CURL_ERRORS] =>
)
Here's the final response:
Request Parameters: {DoExpressCheckoutPayment}
Array
(
[AMT] => 13.28
[ITEMAMT] => 9.78
[SHIPPINGAMT] => 3.50
[L_NUMBER0] => xxxxx
[L_NAME0] => xxxxxx [2280]
[L_QTY0] => 2
[L_AMT0] => 4.89
[SHIPTONAME] => xxxx xxxxx
[SHIPTOSTREET] => xxx xxx xxx
[SHIPTOCITY] => Franklin
[SHIPTOSTATE] => IN
[SHIPTOZIP] => 46131
[SHIPTOCOUNTRYCODE] =>
[BUTTONSOURCE] => ZenCart-ECGW_us
[RETURNFMFDETAILS] => 0
[CUSTOM] => EC-2960-1334099859
[INVNUM] => 2960-1334099859-[xxxxxx]
[CURRENCY] => USD
[TOKEN] => EC-7FW95205GA997835W
[PAYERID] => 6CBQF9K8Z3Q5S
[ACTION] => D
[TENDER] => P
[TRXTYPE] => S
[NOTIFYURL] => https://www.xxxx.com/us/ipn_main_handler.php
[REQUEST_ID] => 1334099859
[USER] => xxxxxxxxxx
[PWD] => ****************
[PARTNER] => PayPalUK
[VENDOR] => xxxxxxxxxx
)
Response:
Array
(
[RESULT] => 7
[PNREF] => EZNP3F88961F
[RESPMSG] => Field format error: 10444-The transaction currency specified must be the same as previously specified.
[AVSADDR] => N
[AVSZIP] => N
[REQUEST_ID] => 1334099859
[CURL_ERRORS] =>
)
DoExpressCheckoutPayment, Elapsed: 657ms -- Failed
RESULT=7&PNREF=EZNP3F88961F&RESPMSG=Field format error: 10444-The transaction currency specified must be the same as previously specified.&AVSADDR=N&AVSZIP=N&REQUEST_ID=1334099859&CURL_ERRORS=
Re: Express Checkout via Payflow not working
I recommend you post that information to PayPal tech support: www.paypal.com/mts
Re: Express Checkout via Payflow not working
If I go to Paypal and report that I am experiencing a problem since upgrading to new software, i.e, everything was working fine until I upgraded to a new Zencart version, aren't they likely to point the finger at the new software causing this issue?
Re: Express Checkout via Payflow not working
Maybe. Maybe not. But what you need from them is the exact technical reason for the rejection. As you said yourself, the currency is the same in both places, and thus should not be rejected. Knowing the exact "why" from them is key.
Re: Express Checkout via Payflow suddenly not working
While I don't recall there being any significant changes between 1.3.9 and 1.5.0 regarding EC and Payflow, it would be interesting to review similar logs from transactions that are working correctly and from transactions that you did while on v1.3.9.