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:

  1. Login on you PayPal account.
  2. Click on Profile.
  3. Click on “My Selling Preferences” tab .
  4. Click on “PayPal Button Language Encoding” (at the end of the page).
  5. Click on "Other Options".
  6. Select from the drop down menu: UTF-8.
  7. Choose the same charset also for the second option, which is related to IPN.
  8. Click “Save”.
  9. Try new payment on the same account.

Internal content