Search

PayPal Standard

PayPal Standard uses Instant Payment Notification (IPN) and has been/will be updated in accordance with PayPal’s announcement to https for added security. Action by you: An SSL certificate is required by 19 January for Sandbox testing and by 30 September for all PayPal transactions. See Where to get an SSL certificate and What is SSL and https for more info.

Setup ↑ Back to Top

PayPal Standard takes customers from your site to PayPal to finish paying for their order.

PayPal Standard WooCommerce Email Field

  1. Enable PayPal Standard.
  2. Enter a description.
  3. Enter your email address in the PayPal Email field, which is the most important information you need to configure before taking payments.
    *If you don’t have an account with PayPal, be sure to sign up for a business account. It’s free.

Sign Up For PayPal Business

Enable PayPal Sandbox as a testing area during the development of your store. With sandbox enabled, no payments are taken. More at: PayPal Sandbox.

Logs may also be turned on, which can be useful during development. PayPal’s log files URL looks like this: wc-logs/paypal-ccf2fdcbf81b53e25f70bfc2a2aa29bf.log

You may need to create a wc-logs folder and set permissions to make it writable.

Shipping Options ↑ Back to Top

There are two shipping options:

  • Send shipping details to PayPal. You can opt to have WooCommerce send shipping details to PayPal to create shipping labels instead of billing.
  • Address override option. While we recommend you keep it disabled, it can be used to prevent address information from being changed.
Note: When selecting the option to send Shipping details, PayPal verifies passed addresses and can often reject the customer if they don’t fully recognize the address.

Advanced Options ↑ Back to Top

Under Advanced Options, there are a few fields you can use as needed.

  • Receiver Email can be used if the email address that receives payments is different from the primary email address on your PayPal account.
  • Invoice Prefix to add a prefix to PayPal invoices. This is helpful if you’re using the same PayPal account for more than one website/store.
  • Payment Action lets you choose to capture funds immediately or only authorize.
  • Page Style is an optional setting where you can enter the name of a custom page from your PayPal account.
  • 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 passes individual line items to PayPal (product name, price and quantity) unless:

  • Your prices are defined as including tax
  • You have more than nine line items, including shipping – PayPal only supports nine items.

This is to prevent rounding errors and to ensure correct totals are charged. When line items are not sent, the items are grouped and named ‘Order #x’.

PayPal notification URL ↑ Back to Top

Most people won’t need this. But if you have IPN trouble, setting this may help fix it.

Set up the URL via your PayPal account. Use the following URL and replace example.com with your own URL:

http://example.com/?wc-api=WC_Gateway_Paypal

In your PayPal business account, go to Profile and settings > My selling tools. Click on Instant payment notifications to set the URL.

PayPal Notification URL

 

Auto-Return ↑ Back to Top

You can set up 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:

example.com/checkout/order-received/

Regardless of this setting, it redirects dynamically to the correct receipt page.

Add ?utm_nooverride=1 to the end of your URL to ensure that transactions (i.e., conversions) are credited to the original traffic source, rather than PayPal.

 

PayPal Auto Return

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 shows as Pending (unpaid). No action is necessary.

Do I need an SSL certificate?

The payment is made offsite on the PayPal website and not your checkout. Adding an SSL certificate is optional.

Why am I getting payments, but 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:

paypal-standard-internal-server-error

What is PayPal IPN?

PayPal Instant Payment Notifications (PayPal IPN) tells your store that payment has been successful (or not). To learn more about how to set this up on PayPal, see: 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 two 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 in your WooCommerce PayPal settings is different for each site.

Do customers need a PayPal account?

PayPal has an option that allows customers to check out without creating an account. The setting is called PayPal Account Optional, and can be found inside of your PayPal account in the My Profile section. Go to My selling tools > Website Preferences, and turn on PayPal Account Optional. To learn more, see: PayPal’s Website.

Debugging IPN issues ↑ Back to Top

Are you testing locally?

If you are testing locally, on MAMP for example, PayPal is unable 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.

Enable Logging

After enabling logs via the settings, check to see that responses are 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 that 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 cause the IPN response to be rejected.

Check for conflicts

If the order status is not changing on order complete, 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 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 is to enable Payment Data Transfer (PDT). Within your PayPal account settings, try setting the following:

PayPal PDT Settings

With the PDT Identity Token copied, you can paste it into the WooCommerce > Settings > Checkout > PayPal field:

PayPal PDT WooCommerce

Still not working?

Get in touch with your host. Some hosts, such as GoDaddy, are known to have problems with IPN, and this is unfortunately out of our 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 displays when your PayPal Account Profile is set to only accept payments from “encrypted” buttons but your item button code is “not” encrypted. This interrupts the payment process and displays the error message.

To turn off this option:

  1. Log into your PayPay Account.
  2. Select the Profile tab or Edit Profile link.
  3. Under Selling Preferences, select Website Payment Preferences.
  4. In the “Encrypted Website Payments” section, select Off.
  5. Save changes.
Back to the top