Have you changed your API information at all? Removed Express and reInstalled it. I get that error message when I try to us Express without my API information entered.
Printable View
Okay everyone freeze ...
Only if you have an INVALID PARAMATER error ... should you be in this thread ...
If you have the invalid paramater error answer the following questions:
1 Who do you host with?
2 unix or windows?
3 what version of php?
4 clean install or upgrade?
5 are you using IPN or PayPal Express?
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed?
7 is there a pattern or specific country that this happens with?
8 Live or Sandbox?
Then sit quietly while we look at this further to determin the pattern here ...
Thanks! :smile:
1 Who do you host with? Bluehost
2 unix or windows? Bluehost: Linux
phpmyadmin: Localhost via UNIX socket
3 what version of php? phpmyadmin 2.9.0.2 mysql: 4.1.21
4 clean install or upgrade? Clean install through fantastico with my host
5 are you using IPN or PayPal Express? when receiving this error? Paypal Express
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed? I have both installed but only Paypal Express turned on.
7 is there a pattern or specific country that this happens with? No
8 Live or Sandbox? Live
1 Who do you host with?
Infinology
2 unix or windows?
UNIX (FreeBSD 4.10)
3 what version of php?
Can't figure this out. I can probably get an answer .... eventually.
4 clean install or upgrade?
Installed all files over 1.3x, database upgrade. Installed Feb 8 patch. Uninstalled and reinstalled PayPal IPN module. Re-pasted API parameters.
5 are you using IPN or PayPal Express?
IPN 'cos PayPal express fails.
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed?
Both are installed.
7 is there a pattern or specific country that this happens with?
So far - US only.
8 Live or Sandbox?
Live
1 Who do you host with? Bluehost
2 unix or windows? Linux
3 what version of php? Php 4.4.4
4 clean install or upgrade? Clean
5 are you using IPN or PayPal Express? PayPal Express
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed?
Currently I only have Express installed (removed PHP because I couldn't get the echeck issue fixed, then removed Express when it quit working and re-installed IPN when Express quit working a few days ago. I have tried running both together to see if it worked, but no change)
7 is there a pattern or specific country that this happens with? I have only had transactions from the US
8 Live or Sandbox? Live
Then sit quietly while we look at this further to determin the pattern here ... (My pleasure)
Thanks! :smile:
THANK YOU!!!!
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed?
Currently I only have Express installed (removed PHP because I couldn't get the echeck issue fixed, then removed Express when it quit working and re-installed IPN when Express quit working a few days ago. I have tried running both together to see if it worked, but no change)
**edited***
I meant removed IPN! Sorry!
This is UPDATED info after talking to my host provider. New info is red. I can't delete the other post or I would.
1 Who do you host with? Bluehost
2 unix or windows? Bluehost: Linux
phpmyadmin: Localhost via UNIX socket
3 what version of php? 4.4.4
4 clean install or upgrade? Clean install through fantastico with my host
5 are you using IPN or PayPal Express? when receiving this error? Paypal Express
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed? I have both installed but only Paypal Express turned on.
7 is there a pattern or specific country that this happens with? No
8 Live or Sandbox? Live
FOUND IT!!!! Fixed it (maybe).
but first, the requested data:
1 Who do you host with? goDaddy
2 unix or windows? Linux
3 what version of php? 5.0.4
4 clean install or upgrade? Clean install + latest patch.
5 are you using IPN or PayPal Express? when receiving this error? Paypal Express
6 Do you have 1 or both installed? Meaning, if not using one or the other do you have the other one installed? - only Paypal Express
7 is there a pattern or specific country that this happens with? Definitely US, not certain of others.
8 Live or Sandbox? Live
Being impatient i started looking at the code. In paypalwpp.php in function ec_step2_finish around line 1770 there is a nice check
if (!isset($paypal_ec_payer_info['ship_country_code']))
Well, it just happens that it IS set to '' (nothing).
Changing that line to:
if ((!isset($paypal_ec_payer_info['ship_country_code'])) OR ($paypal_ec_payer_info['ship_country_code']=='')) {$paypal_ec_payer_info['ship_country_code'] = $country1->fields['countries_iso_code_2']; $_SESSION['paypal_ec_payer_info']['ship_country_code']= $country1->fields['countries_iso_code_2'];}
allowed me to successfully complete a transaction.
Now, I do NOT know PHP, and I do NOT understand Zen Cart guts well enough to say that this is IT. The problem is probably somewhere upstream and the fix is more elegant.
I can easily imagine though that PAyPal changed their protocol to return an empty but defined value instead of returning none, thus quietly throwing a wrench into Zen Cart machinery.
I can't wait what the PROs think! :smartass:
~Andrey
I can't tell you what the PROs will think but I will tell you that *I* could kiss you right now! Thank you thank you!
I get a really long lag after the paypal screen when I'm back on my site and click "confirm" but the order DOES go through and I get both the payment and the order confirm. So slow is better than not at all and I'll take it!
THANK YOU!
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 ...)