WooCommerce PayPal Tutorial

WooCommerce PayPal Standard Setup Tutorial

In this WooCommerce tutorial, we will be reviewing the Paypal Standard Setup

PayPal Standard brings the client to PayPal’s secure site from your website to complete the payment procedure for their product. This article will provide complete guidelines, including:

  • Prerequisites
  • Steps for configuration
  • Frequently asked questions
  • Conflicts

Prerequisites

There are some requirements for PayPal Standards and these are:

Business PayPal Account

You have to visit PayPal.com and sign up if you are a new user. If you already registered as a PayPal business account, then your good to go. If you registered for a personal account, you could convert it to a business PayPal account. This procedure is free of cost.

Business PayPal Account

Figure 1 PayPal accounts

Steps for setup and configuration

To set up and configure PayPal Standard, the following steps have to follow:

Step 1: Open WooCommerce then click on Settings and then select Payments

WooCommerce > Settings à Payments

Note: In the past, preceding to WooCommerce, “Payments” called Checkout.

Step 2: For the selection of PayPal, you have to switch to the Enabled/ Disable checkbox and check to mark the Enable PayPal Standard.

Step 3: For further proceeding, select Set Up, that will direct you to the Pay Pal Standard Settings.

Step 4: Next, you have to provide an email address for your PayPal account, provide email account in the required field, and that is the utmost essential part of configuration formerly making payments. Your PayPal email and the email that you have already been provided for your business account should be the same.

Paypal Redirects

Figure 2 PayPal Standards

Advanced Setting:

Advanced Setting

Figure 3 PayPal Advanced Setting

Now you have to configure Advanced Options settings. You have to provide information that is required in an advanced setting. Following are the steps that are required for the Advanced Option.

Step 5: If you want to keep testing your Checkout process during store development, you have to check Enable PayPal Sandbox. No money will be charged at that time, but if you want to practice Sandbox mode, for this usage, through PayPal Sandbox you have to create different Sandbox account.

Step 6: If you want to use Debug log, that can be useful during development, you might need to create a wc-logs folder and then you have to set permissions to make it writable. Debug log would also be turned on and could be helpful during the development. These type of wc-logs are easily available in WooCommerce Logs.

  • Go to the WooCommerce then click on System Status and then open Logs.

WooCommerce > System Status > Logs

Step 7: To get IPN Email Notifications, check the respective box. It is an optional setting, whenever you will receive a payment issue or cancel a refund, you will get the Instant Payment Notifications.

Step 8: Now you have to provide an email for a receiver, it should be same as you have provided in your PayPal account.

Step 9: If you have registered for the Data Transfer option you can get the PayPal identity token that may verify payments if there any issues in Instant Pin Notifications (IPN).

Step 10: If you have multiple stores provide an Invoice Prefix. The default prefix to denote WooCommerce transactions is WC.

Step 11: There are two different ways of shipping and these are given below:

 Forward Shipping:

Open WooCommerce and direct all shipping details to PayPal, it will form labels in its place of generating bills.

Address Override Option:

This setting can cause errors as PayPal verifies addresses, but somehow it can be helpful in possession address information for being reformed.

Step 12: To Capture funds immediately or only *Authorize go for Payment Action.

Note: keep it in your mind, once you proceed to authorize the order and its status is changed from processing to complete, funds are automatically being captured till you have been using your PayPal credentials under WooCommerce. It will no longer be a manual process.

  • Open WooCommerce then click Settings, then click Payments and then open PayPal.

WooCommerce > Settings > Payments > PayPal.

Step 13: You can customize the pages of your PayPal account by using Page Style.

Step 14: To display an image of 150×50 on PayPal checkout pages you can use the image URL.

API Credentials:

API Credentials

Figure 4 PayPal API Credentials

API information can be pasted into three fields:

These fields are Live API (Username. Password, Signature). These fields are optional.

If you want to get information related to the API (live), following are the steps:

Step 1: You have to visit PayPal.com and Sign in with your PayPal account.

Step 2: Select My Selling Tools and then open API Access.

My Selling Tools à API Access

Step 3: If you want to integrate API classics, then select SOAP/NVP and then open the View API signature for further proceeding.

Step 4: Now you have to view and then copy the required API (username, password and signature)

Configuration of the Dashboard of PayPal:

You can handle a maximum of the configurations from WooCommerce, but sometimes for the few configurations you have to visit PayPal.

Setup for the IPN URL for PayPal:

WooCommerce should set up your IPN in PayPal.

Instant payment method for PayPal (IPN):

  • Your stores have been notified through this method either your payment is successfully done or not.
  • For the configuration of this notification, you have to log in from your business account and then open your profile. Click on the setting button and then open My Selling Tools and then to set up your URL, click on Instant Payment Notifications.

Auto-Return:

Set up auto-return; it will take the customer to the page where receipt generated. There is an example, type this URL, and then change example.com to your own URL.

auto-return

Note: To correct the receipt page dynamically, this redirect setting is also used.

To ensure the transactions, that all traffic is credited to the original traffic rather than PayPal, this type of URL is used at the end of the URL you have been provided already. Add? utm_nooverride=

PayPal Profile

Figure 5 PayPal Profile

Frequently Asked Questions

Do SSL certification is needed from me?

Expense is not ended on your checkout but is made off-site on the PayPal website. It is recommended to add SSL certificate, but it’s not compulsory. SSL fulfills the expectations of the customers by transmitting their information from site to site secretly and keeping their data secure. It is also a ranking factor in search results.

How much would it cost to use PayPal with WooCommerce?

  • It’s absolutely free to download PayPal and Woo Commerce powered by Braintree Payment gateway.
  • Your transaction fee on PayPal depends on for which account you qualify for and the volume/how many numbers of sales you make.
  • There will be no fee charges charged by WooCommerce.

What can we do with a payment issue, while you have pending orders?

There will be no important action is taken, if your client leaves an order at PayPal account rather than dropping it at your WooCommerce store.

During the Checkout Process, what sort of data is delivered to Paypal?

Gateways of PayPal passes the individual line items which include product quantity, name of the product and its price with PayPal except

  • Their prices are already defined along with tax without any negotiation.
  • It is clearly defined that, PayPal is only supporting nine shipping items, but there are more than nine items that are provided by WooCommerce included Shipping.

The above method is used to ensure the correctness of total charges, and to avoid rounding errors. Those items which are not sent are then grouped and named as an Order tag along with numbers like “Order#1.

Information related to my shipping costs is not transferred to PayPal.

Woo Commerce 2.6+, through PayPal API, send the cost of shipping as a real shipping line cost.  If you have already configured this setting, then your account must set that and according to rules. This will get it over and remove the information related cost. If your PayPal account has shipping rules set up within it, these will take over and remove the cost Woo Commerce sends across.

If you want to get rid of from this problem, you have to Remove all shipping rules from set up on the PayPal account.

Orders are still pending, but I am getting payment continuously. Why? *OR* Why cart is not clearing its data after making payment?

It can be due to the failing of Instant payment notification issue. To resolve this issue, you have to check your server or again see the execution of the Instant Payment Notification method.

What is the reason behind the issue of Internal Server Error?

This is because you have entered an incorrect email address in PayPal settings.

Internal Server Error

Figure 6 Internal Server Error

You can use the same PayPal account for many other websites

A dispatch note method is used by the WooCommerce to detect that the duplicate voice, if there is any duplicate voice then they block identical invoices. It is impossible to detect the duplication, on two websites. There is another easy way, by de-selecting it from the setting, you will not face any kind of issue in future regarding invoices. You have to check the preface of invoice with your WooCommerce site, as settings for each website is different for each method.

Advanced Option for Invoice Prefix

Figure 7 Advanced Option for Invoice Prefix

Note: You can also disable the invoice duplicate checking and can make changes from profile settings. Open profile settings and then go to the Settings and then go to the My Selling Preferences and then open Block Payments and set Block Accidental Payments to No.

Payment receiving Preferences

Figure 8 Payment receiving Preferences

Is there any need of PayPal account to the customer?

A customer can check out without having any PayPal account, but it requires a specific option to be enabled in the PayPal account.

After logging in, you have to tackle the icon that is in the top right to open the My Profile Page. Then you have to open the Products and Service Section and then select the preferences section from it. Now you can select the PayPal account optional option for it.

PayPal Optional Account

Figure 9 PayPal Optional Account

Is there any chance where the PayPal Seller Protection can be in Effect?

If you are using the shipping address, then the PayPal seller protection is in effect. On the contrary, if you are using Billing Address, seller protection will be not in effect because it is not possible for API of PayPal to identify more than one address.

Error Message: A error message is displayed, and that is Seller can only accept unencrypted payments.

Above mentioned message is displayed when at the time of making an account you have set payment accept method as only accept encrypted payment, but you haven’t set your button item, which intrudes the whole route of payment.

Steps to resolve this issue:

Step 1: Login into your PayPal account.

Step 2: Now you have to open your Profile.

Step 3: Now you have to select Website Payment Preferences in the profile setting section.

Step 4: Now you have to make changes in the “Encrypted Website Payments” section, turned off this option.

 Step 5: Now save changes that you have made.

The message displayed: A message is displayed on the screen and the message is, this invoice has already been paid.

If you are using numerous stores for shipping or using your account for different settings WooCommerce order numbers may not be unique then.

You can sidestep this issue by selecting a WooCommerce setting and then checkout and then open PayPal and set a unique prefix for your store.

            Woo Commerce > Settings > Checkout > PayPal and set a unique ‘prefix’ for your store

Pending issues of Instant Payment Notification

In case IPN is not updating your orders, you may follow the given steps. When you are trying to resolve these type of issue, then you want automatic cancelation of your pending orders, through this you can easily confirm the orders manually without these kind of notifications. To resolve this type of issue, you have to open WooCommerce and then open Setting and go to the Products and open inventory and then hold the stock, this field is optional

         Woo Commerce > Settings > Products > Inventory > set the “Hold Stock (minutes)”

For getting more information regarding Instant Payment Notifications, log in to the account and check the history page.

https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history

Will you be doing local-based testing?

In local testing, PayPal is not able to talk to your store, it will normally work whenever you work with it hosting it on the web.

Is your server is supporting fsockopen?

To check the validity of notification gateway must be able to talk to PayPal and for this type of ability, gateways need the support of fsockopen. The function that is exactly used for this purpose is given below

http://codex.wordpress.org/Function_API/wp_remote_post

To check the support of servers, you have to open WooCommerce and go to the System status and then see the results, either it is supported or not.

Woo Commerce > System Status > Results

Check your server has enabled firewall or not.

If you have a firewall, it needs to have the outgoing port 443 open so that the gateway can talk to PayPal via an https URL.

Enable Logging

Enable logging through settings, you have to check the responses either received or not. If you have not received any response message, then it might be a problem due to your WordPress installation or a plugin conflict. To resolve such issues, you have to Turn off all other plugins.

Email Address is checked

You have to check your email address of the gateway either it is passed back by IPN same or not. They need to match. Otherwise it will generate a problem that will reject IPN response.

Conflicts should be checked

If your order is complete and still status of your order has remained same and not change with the situation, then you have to check conflicts, if there is any conflict with W3 Total Cache.

Using Currency in Sandbox mode.

If you are using currencies other than Sandbox, then it will automatically set the payment in the pending section. Make sure that currencies should be the same as wherever you have been set in your Sandbox and your WooCommerce store.

Why customers, when they are redirected to my website, don’t see the link that is provided to download the product after paying and getting products.?

It shows that instant payment notification is not working properly for your website. To resolve this issue, you have to enable the payment data transfer. To enable it, there are the following settings:

Website Payment Preferences

Figure 10 Website Payment Preferences

After saving the settings, then you have to go back to the settings of the Website and ON or OFF the payment data transfer method.

Data Transfer (optional)

Figure 11 Data Transfer (optional)

Still not working?

If it is still not working, then get contacted by your host. You have to make sure that Instant Payment Notification should not be blocked by the caching, firewalls or other server settings. There are some hosts named as Go Daddy, who can control such type of IPN issues because at that point it is out of our control.