Symptoms
Payment via PayPal is stuck on hold, in the generic_worker.log
an invalid response can be seen to the verification request:
[16-08-01 17:09:30.246 PAYPAL_Obje RQ2200524 TH20252 NTE] Verification Response:
INVALID
Payment was actually taken and processed on PayPal side.
Cause
Check the verification request, e.g.:
[16-08-01 17:09:29.219 PAYPAL_Obje RQ2200524 TH20252 NTE] Verification Body:
&cmd=_notify-validate&PBADocID=42345&business=billing%40hostname.com&charset=windows-1252&
If you see charset set to value different from UTF-8
and the providers or customers information has some non-ASCI symbols, that may be a reason of invalid response.
Resolution
Change the language encoding in the PayPal account:
- Login on you PayPal account.
- Click on Profile.
- Click on “My Selling Preferences” tab .
- Click on “PayPal Button Language Encoding” (at the end of the page).
- Click on "Other Options".
- Select from the drop down menu: UTF-8.
- Choose the same charset also for the second option, which is related to IPN.
- Click “Save”.
- Try new payment on the same account.