I\'m trying to implement PayPal on my website.
I use this class: http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
Right now I\'m testing usi
There is one more thing you may need to check:
Make shore that the language encoding of your PayPal account is set to UTF-8. Under some circumstances this is set to something like ‘windows-1256’ by default. To change it to UTF-8 you need to:
Every single Paypal account I've setup in Germany was set to language encoding "windows..." by default. Then IPN won't work with an UTF-8 encoded website, even in Woocommerce or EDD or event espresso.
My problem was that my sandbox merchant account was made as a British user (and GBP as currency). When I tried to go through orders in Danish kroner (DKK), it would tell me that the purchase was "Unclaimed" in the merchant view. As soon as one order in DKK was accepted, and I chose to create a new currency in DKK, IPN sent me all the "payment_status = completed" messages.
When you're logged into your test business account, manually navigate to:
https://www.sandbox.paypal.com/businessmanage/preferences/payments
You would normally be able to get there by going through your "My Business Setup" but currently it redirects to PayPal live (despite being in the sandbox).
Once you're on that page, change "Block payments sent to me in a currency I do not hold" to "No, accept them and convert them to ..."
Also, don't forget to confirm your business account using the PayPal Sandbox front-end and "Test Email" section of the API.
I did change Allow payments sent to me in a currency I do not hold
to Yes
in all user accounts in the sandbox but it was still not working.
I also tried to create the same currencies in the paypal form, and for the sandbox user accounts here Making the new currency primary. Converting money to the new currency. Still no success.
Then I noticed the last sentence of Wes Hanney's answer: "confirm your business account using the PayPal Sandbox front-end". Trying this did not work either.
M.G.Palmer's suggested in his answer to create a German merchant account. Did not work either.
What a hassle!
After one hour, where I was close to throw the PC out of the window, I just realized that I forgot one thing. Changing my real recipient email address in the paypal form to the sandbox merchant email address. That solved it finally for me.
PS: Maybe a stupid beginner's mistake? But might be helpful for others who run into the same situation.
After dealing with this problem a little & PayPal changing the UI,
Here are the exact instructions from PayPal Merchant Technical Support:
Thank you for contacting Merchant Technical Support.
Please try to follow the instructions below to turn off the Payment Review function for your Sandbox account:
!!! Make sure you are doing this on your PayPal SandBox Merchant Account!
& Thats what it looks like:
By default, your PayPal business account is limited to a few accepted currencies that are chosen based on your regional settings. Payments made with non-accepted currencies will stay in pending/open status. To support/accept those currencies, you need to add them to the list of "accepted currencies" on PayPal. To do so, follow these steps:
Remark: When using the sandbox accounts when testing, you need to perform this also for your facilitator sandbox account after login on this account using URL: https://www.sandbox.paypal.com/