PS I tried the solution of turning off “block non-encrypted website payment” as recommended previously, but this has had no effect.
@rmcmorran, Are you using your live PayPal Merchant ID? If you enable test mode you need to use your PayPal sandbox account credentials.
Yes I am using my PayPal Merchant ID. I can’t see anything in PayPal settings to set up a sandbox account Merchant ID. I set up sandbox credentials in the developer dashboard but that gives me an API key and a secret, none of which seems to fit into WP PayPal settings.
@rmcmorran, You can create sandbox accounts from your developer dashboard. You need 2 sandbox accounts to act as a seller and a buyer.
https://developer.paypal.com/docs/api-basics/sandbox/accounts/
OK having had a good night’s sleep I think I have solved this. It’s mainly down to PayPal’s utterly bewildering interface and poor usability. I’ll post my solution here for the benefit of others.
Log into your PayPal account (you need to have a PayPal business account)
Go to the DEVELOPER dashboard
https://developer.paypal.com/developer/applications
Ensure that the Sandbox button is selected at the top of the page
In the left-hand menu select Accounts
This should bring up a Sandbox test accounts list. You should have 2 sandbox accounts – Business and Personal.
Here you have a list of your test/sandbox accounts. The basic idea is as follows:
- enter the email and Merchant ID from the sandbox Business account details into the WP PayPal plugin settings
- when you test out your button, you log into PayPal using the sandbox Personal account details.
To obtain these details, you have to click the tiny grey dots to the right of each account and then select view/edit account from the little popover (yes, this is PayPal usability – took me hours to figure this out). A modal box pops up and lists all the login details and merchant IDs for each account. Copy this info in to a text file to use for testing.
Hope this helps!!