Using PayPal on WooCommerce with no IPN
I ran into an old problem while preparing to launch two new websites for one of my biggest clients.
The client chose to split their overly-complicated Magento site into two smaller WooCommerce sites. Good idea! But the developer I am working with did not know how to make the built-in PayPal Standard option work for both URLs. … PayPal took my money when I placed my test orders. But the order status was left at “Pending Payment”.
No worries. I have done this plenty of times! I told him I would fix it. But between changes to the PayPal website and how many years it has been since I did this, it took me a bit longer than expected. Below are my notes to help you figure it out faster!
Setting up PayPal Standard:
PayPal Standard comes with WooCommerce. There is no need to install a separate plugin. Simply navigate to WooCommerce > Settings > Payments and click the [Manage] button next to PayPal.
From there you will be taken to a page to fill out your PayPal information. Hover over the question marks next to each box if you need help figuring out what to enter.
- You must check Enable PayPal Standard to use this payment method
- You must have a Title (suggestion: PayPal)
- You must enter your PayPal email, so that the site knows where to send payments to. (You need to have a PayPal account.)
- PayPal sandbox should not be used on your live site.
- Enable IPN email notifications – Honestly, I have not used this. I assume it does not work if you are not using IPN
- Receiver email will be left blank in most cases.
- Enter your PayPal identity token – This is the key to making your website recognize when a payment is received without using PayPal IPN! (See directions for getting your PayPal identity token below)
- Invoice prefix – This will help you identify where payments came from when you view transactions in PayPal. I use SH- for my orders that came from the site “Snug Harbor”.
- Shipping details – this checkbox is optional. Read the description to decide what you should do.
- Enable “address override” – Leave this unchecked unless you know that you need it.
- Payment action – Set this to “Capture” if you want to receive payment right away!
- Page style – Skip if you do not understand this. You probably don’t have it set up.
- Image URL – You can enter the address of your 150×50 pixel logo for use on PayPal checkout.
- API credentials – These are optional. I personally avoid them since I would rather process refunds from my PayPal account. I don’t want to accidentally process a refund from my site!
- Be sure to save your changes when you are finished.
How to get your PayPal Identity Token:
PayPal has made it increasingly difficult to find your PayPal identity token! Instead of telling you how to navigate to your token (which I cannot figure out how to do in my personal account) I will give you some URLs:
NOTE: My first step for both business and personal users is to log in to your PayPal account. The below links will not take you to the correct page unless you are already logged in.
Business users – Log in to your PayPal account. Then in the same window, visit https://www.paypal.com/businessmanage/preferences/website
(URL last checked May 31, 2019 at 10:30PM CST)
Turn on Auto Return for Website Payments and set that to your main URL. This URL has to be set before you are able to get your token.
Scroll down a little and turn on Payment Data Transfer. Once this is on you can retrieve your identity token. (copy/paste from the page you are on)
Personal users – Log in to your PayPal account. Then in the same window, visit https://www.paypal.com/cgi-bin/customerprofileweb?cmd=%5fprofile%2dwebsite%2dpayments
(URL last checked May 31, 2019 at 10:34PM CST This link will not work if you are not already logged in to PayPal.)
Turn on Auto Return for Website Payments and set that to your main URL. This URL has to be set before you are able to get your token.
In the next section, turn on Payment Data Transfer. Once this is on your Identity Token will appear. Copy and paste this to the PayPal Identity Token field on your site and continue setup. (where you are setting up PayPal Standard)
Why not just use PayPal IPN:
PayPal Instant Payment Notification (IPN) only sends payment notifications to one URL. If you have multiple websites, you will either have to put your programming skills to work to make a page that receives notifications and passes them along to the right websites, or you will have to watch your PayPal account to manually update order statuses as payments are received.
PayPal Identity tokens are a way for your website to say “Hey, PayPal! Send the notifications to me instead. Here is my number to prove that I have permission.”
Update: You still need to watch your PayPal account!
Over the last few months, we have noticed that there are occasions where my client’s website does not receive payment confirmation. We are not sure if this problem is an occasional server hiccup or if it is with PayPal. (My own websites never have this problem.)
I suggest you view your orders regularly and double-check any that are stuck in a “pending” or cancelled orders against your PayPal account.
Another useful PayPayp link – A few months ago PayPal started charging sales tax on orders from my state. I could not find the URL to turn this off from my personal account. So I copied the URL from a business account. Make sure you are logged in to PayPal before trying this link to update sales tax preferences!
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-sales-tax
Another useful PayPayp link – A few months ago PayPal started charging sales tax on orders from my state. I could not find the URL to turn this off from my personal account. So I copied the URL from a business account. Make sure you are logged in to PayPal before trying this link to update sales tax preferences!
https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-sales-tax
Thank you for sharing this. I had a site develop this problem with payments and found your information helpful. ESPECIALLY the part with the links directly to the pages with the Web Payment Preferences. Why PayPal makes it so hard to find things is beyond me. So you get a gold star that tip alone.
Always glad to hear when one of my posts helps someone out!
Thank you for sharing this. I had a site develop this problem with payments and found your information helpful. ESPECIALLY the part with the links directly to the pages with the Web Payment Preferences. Why PayPal makes it so hard to find things is beyond me. So you get a gold star that tip alone.
Always glad to hear when one of my posts helps someone out!