Configuration ↑ Back to Top
PayPal Standard takes customers from your site to PayPal to finish paying for their order.
To start you’ll need enable PayPal standard and write a simple description for it. The most important information you need to configure before taking payments is your PayPal email address. Enter that in the PayPal Email field. If you don’t have an account with PayPal be sure to sign up for a business account with them. It is completely free.
From there you can enable PayPal Sandbox as a testing area during the development of your store. With sandbox enabled no payments will be taken. See the documentation foron their site.
Logging can also be turned on which can be useful during development. PayPal’s log files url will look something like this wc-logs/paypal-ccf2fdcbf81b53e25f70bfc2a2aa29bf.log (you may need to create the wc-logs folder and set permissions so that it is writable).
Shipping Options ↑ Back to Top
Next are two shipping options. First, you can have WooCommerce send shipping details to PayPal instead of billing. Handy if you use PayPal for creating shipping labels.
Second is the address override option, while we recommend you keep it disabled it can be used to prevent address information from being changed.
Advanced Options ↑ Back to Top
Under Advanced options there are a few fields you can use as needed.
- The receiver email can be used if your email address that receives payments is different than the main email address on your PayPal account.
- You can use invoice prefix to add a prefix to invoices in PayPal.
- Payment action lets you choose to capture funds immediately or just authorize payment.
- Page style is an optional setting where you can enter the name of a page style from your PayPal account.
- Finally PayPal identity token can be used to verify payments if you have IPN issues.
API Credentials ↑ Back to Top
Three fields to paste your PayPal API credentials into. API Username, API Password, and API Signature. Learn how to get that information from PayPal here.
Data passed to PayPal ↑ Back to Top
The PayPal gateway will pass individual line items to PayPal (product name, price and quantity) unless:
- Your prices are defined including tax
- You have more than 9 line items (including shipping) – PayPal only supports 9 items.
This is to avoid rounding errors and to ensure correct totals are charged. When line items are not sent, the items are grouped and named ‘Order #x’.
The PayPal notification URL ↑ Back to Top
While most people won’t need to set this, if you have IPN trouble setting this may help fix things. Set up the URL via your PayPal account. To do this, use the following URL and replace example.com with your own URL:
You’ll need to set this in your PayPal account. In your PayPal business account navigate to Profile and settings > My selling tools. Click on Instant payment notifications to set the URL.
Auto-Return ↑ Back to Top
As the name implies, you can setup auto-return in your PayPal account which will take customers to a receipt page. For example use the following URL and replace example.com with your own URL:
Regardless of this setting, it redirects dynamically to the correct receipt page.
Add ?utm_nooverride=1 to the end of your URL if you want to ensure that transactions (i.e. conversions) are credited to the original traffic source, rather than PayPal.
PayPal FAQ ↑ Back to Top
I have pending orders, but no payment was received?
If the customer abandons the order in PayPal (and not your WooCommerce store), the order will be ‘pending’ (unpaid). No action is necessary.
Do I need an SSL certificate?
The payment is made off-site on the PayPal website and not your checkout. Adding an SSL certificate is optional.
Why am I getting payments, but my orders are still pending? *OR* Why is my cart not clearing after making payment?
In this case the PayPal IPN is failing, check your server. See below.
Why do I get an Internal Server Error?
If you see the following error message after hitting the purchase button, the email address you entered in PayPal settings is incorrect:
What is PayPal IPN?
PayPal Instant Payment Notifications tells your store that payment has been made successfully (or not). To learn more about how to set this up on PayPal, please see their doc here: How to Activate IPN in your PayPal Account.
Using the same PayPal account with more than one website
WooCommerce uses an “invoice” system. There is a setting that “blocks duplicate invoices”. With 2 websites using invoices it is inevitable that there will be duplicate invoice numbers. By de-selecting that setting in PayPal, the invoices have no issue. Please check that the Invoice Prefix setting in your WooCommerce PayPal settings is different for each site.
Debugging IPN issues ↑ Back to Top
Are you testing locally?
If you are testing locally, on MAMP for example, PayPal won’t be able to talk to your store. This is normal – it will work when you host it on the web.
Check your server has support for fsockopen
The gateway must talk to PayPal to check the validity of notifications – for this it needs fsockopen support. The exact function used is http://codex.wordpress.org/Function_API/wp_remote_post
*To check if this is supported by your server go to WooCommerce > System Status and see the results.
Check if your server has a firewall
The gateway talks to PayPal via a https url – your firewall needs to have the outgoing port 443 open.
After enabling logs via the settings, check to see responses are actually being received. If they are not then the problem may be due to your WordPress install or a plugin conflict. Turn off other plugins.
Check Email Addresses
Check the Email Address (in the PayPal gateway settings) matches the email address passed back by IPN. Use your primary email address for your PayPal account. Failure to do so will mean the IPN response will be rejected.
Check for conflicts
If the order status is not changing on order complete please check if there is a conflict with W3 Total Cache.
Currency in PayPal Sandbox mode
When PayPal is in sandbox mode, it automatically sets payments to pending if they are made in a currency other than the sandbox currency. Ensure that the currency you have set in PayPal sandbox is the same as the currency in your WooCommerce store.
Why don’t customers see the link to download their products after paying and getting redirected back to my website?
This could be a sign that the IPN isn’t working correctly with your website. A possible workaround for this is to enable Payment Data Transfer (PDT). Within your PayPal account settings, ensure try setting the following:
With the PDT Identity Token copied, you can paste it into the WooCommerce > Settings > Checkout > PayPal field:
Still not working?
Get in touch with your host. Some hosts, like Godaddy, are known to have problems with IPN but that is unfortunately out of our hands to control.
Other Issues ↑ Back to Top
“Seller only accepts payments from unencrypted payments” message
The “seller only accepts payments from unencrypted payments” message is from PayPal.
This error is displayed because your PayPal Account Profile is set to only accept payments from “encrypted” buttons however, your item button code is “not” encrypted. This condition interrupts the payment process and displays the error message.
To turn off this option:
- Log in to your PayPay Account.
- Select Profile tab or the Edit Profile link.
- Under “Selling Preferences”, select Website Payment Preferences.
- In the section titled “Encrypted Website Payments” select Off.
- Save changes.