Quote Originally Posted by andrabr View Post
1. what version are you running: ZenCart 1.3.7

2. have you installed the latest patch: Yes

We are a 100% Express Checkout.

USEFUL observations:

1) I have a download-only product and it works just fine
2) The logs show:

Feb-15-2007 06:02:13
before_process - EC-5
resultset:
Array
(
[ACK] => Failure
[L_ERRORCODE0] => 81210
[L_SHORTMESSAGE0] => Invalid%20Parameter
[L_LONGMESSAGE0] => Country%20%3a%20Invalid%20Parameter
[L_SEVERITYCODE0] => Error
)

3) Same logs show:

Feb-15-2007 06:02:13
before_process - EC-3
address overrides added:
Array
(
[ITEMAMT] => 0.01
[SHIPPINGAMT] => 0.00
[AMT] => 0.01
[L_NUMBER0] => 0
[L_QTY0] => 1
[L_NAME0] => GUTS
[L_AMT0] => 0.01
[L_TAXAMT0] => 0.00
[SHIPTONAME] => Andrey Abramov
[SHIPTOSTREET] => 240 Bay Street #410
[SHIPTOSTREET2] =>
[SHIPTOCITY] => San Francisco
[SHIPTOSTATE] => CA
[SHIPTOZIP] => 94133
[SHIPTOCOUNTRY] =>
)

My best guess is that SHIPTOCOUNTRY used to be empty by default and now PayPal requires an explicit value.
This last bit of debug log that you posted is from a DoExpressCheckoutPayment API call. Can you post the GetExpressCheckoutDetails log data for the same transaction? (TOKEN will be the same in both)

PayPal EC processing happens in 3 stages:
1. SetExpressCheckout (sets a TOKEN between PP and your shop, and customer logs into their PP account)
2. GetExpressCheckoutDetails (gets details from PP based on customer-selected options)
3. DoExpressCheckoutPayment (sends payment request and captures funds to complete the order).
(All other debug logs merely show data pieces used in stitching together the entire transaction.)

It seems that perhaps PayPal is sending data back differently in the GetExpressCheckoutDetails step (perhaps due to a recent code-maintenance update on their end), which is causing Zen Cart to be confused over the results. I need to see the GetExpressCheckoutDetails logs that are created just before the error occurs (no need to complete checkout ... just login to PayPal and return to the store).

The fix suggested by andrabr earlier may provide some relief for U.S. shops, but may or may not be the final solution.

Debug logs will be a huge help. If you prefer not to post them here (they should be safe generally), you may PM me with FTP access to your debug log folder as an alternative.


(However, I do apologize in advance for delays in replying (if any), as I'm neck-deep in completing a very intense client project ...)