WebToffee Logo
  • Home
  • Plugins
  • Blog
  • Documentation
  • Support
Login
0

  • Getting Started
    • Plugin set up
    • PayPal credit card checkout
  • Issue Refund
    • Automatic Refund
  • FAQ
    • Hide/change credit or debit card icons
    • Fix 'Unpaid Order Cancelled - Time Limit Reached'
  • Customizations
    • PayPal Express button on a custom page
  • Third-Party Compatibility
    • Plugins
  • Video Tutorial
    • Get client ID and secret from PayPal business account
  • Changelog
    • Version 1.3.9

Documentation/PayPal Express Checkout Payment Gateway for WooCommerce/Set up PayPal Express Checkout Payment Gateway for WooCommerce

Set up PayPal Express Checkout Payment Gateway for WooCommerce

Last updated on June 13, 2022

Overview

PayPal Express Checkout Payment Gateway for WooCommerce facilitates checkout using PayPal Smart Buttons and Express Buttons, which considerably reduces the number of clicks to complete the checkout process.

PayPal Smart Payment Buttons(Recommended) give merchants different ways to customize the size, color, and shape of the PayPal checkout button. The plugin auto-detects customer’s country and shows available payment methods like PayPal Credit, Venmo, including local payment methods at checkout.

When you integrate the PayPal Express Checkout Button, your buyers can quickly checkout using the shipping information and funding source already stored in their PayPal accounts. They don’t have to re-type any information— saving them time and reducing shopping cart abandonment.

Get Started

To begin with, install and activate the plugin. You can navigate to the plugin in two ways as given below:

  • Navigate to WooCommerce > Settings > Payments > PayPal Express ORPayPal Express Checkout-From WooCommerce Settings

OR

  • Navigate to Plugins > Installed Plugins > PayPal Express Checkout Payment Gateway for WooCommerce
    > Settings.

    PayPal Express Checkout-Navigation

Choose the PayPal payment method

With the plugin, you can accept PayPal payments in two ways:

Payment types Steps to set up
PayPal Smart Buttons
  1. Enable the PayPal Payment Gateway and Smart Button
  2. Input the PayPal Client ID and Secret credentials
  3. Customize the Smart Buttons
  4. Save Settings
PayPal Express Buttons
  1. Enable the PayPal Payment Gateway and Express Button
  2. Input the PayPal API credentials
  3. Save Settings

PayPal Smart Button Settings

Step 1: Enable the PayPal Payment Gateway and Smart Button

PayPal Smart Payment Buttons are rendered using the PayPal API. It allows customizing the smart buttons in different ways. The alternative payment methods accept payments by using local funding sources based on the country.

Please note that:
  • Smart Payment buttons will not support Subscriptions.
  • Also, it will override the existing customisations done for Express buttons.

Using PayPal’s Smart Button, you can accept payment from customers using multiple Alternative Payment Methods (APM). With Alternative payment methods, customers can pay with their bank accounts, wallets, and other local payment methods based on country or device such as:

  • Bancontact
  • BLIK
  • eps
  • giropay
  • iDEAL
  • MyBank
  • Pay upon Invoice
  • Przelewy24
  • SOFORT

Step 2: Input the Client ID and Secret

To use the WooCommerce PayPal Smart Payment Button, you must have a PayPal business account. You can open Live or Sandbox accounts free of cost. 

To get the Client ID and Secret:

  • Log in to your PayPal business account.
  • Get API Access credential in any of the two ways:
    • Go to Activity at the top of the page and choose API Access or
    • From Account settings > API Access.
  • Scroll down to the REST API Integration section and click Manage API apps and credentials. The REST API apps window opens up.
  • Click on the PayPal Developer experience link to create or manage apps. 
  • Next, click on the create a new app button. Then, input the application details.
  • Copy and paste the Client ID and Secret in the respective fields of the plugin.

Step 3: Customize the Smart Payment Buttons

Following are the customization options:

You get options to choose the Size of buttons as Small, Medium, Large or Responsive.

Choose from a set of predefined labels from PayPal to appear as Button labels. The available options are PayPal, Buy Now, Pay, Checkout.

Show or hide the Tagline on the checkout page. Note: The Tagline will be hidden for the Vertical layout.

Choose the Button color as Gold, Blue, Silver, White or Black.

Choose the Shape of the button as either Pill or Rect.

Layout for buttons can be either Vertical or Horizontal.

Disable a funding source by choosing it from the available options. Note: The funding sources are shown on the checkout based on country or device type.

Step 4: Save Settings

Scroll down the window and Save settings to get the payment buttons at the checkout.

Checkout using PayPal Smart Button

For the Alternative Payment Method to render, the cart currency must be in the supported currency. PayPal supports currency codes for the buyer countries unless otherwise stated.

  • United States
  • Germany
  • Netherlands
Local payment methods using PayPal Smart Button

Payment workflow:

  1. The buyer clicks on an alternative payment option from the cart, product or checkout page as per the settings. In the above example, for the United States – PayPal Later, Debit and Credit Card, for Germany – SEPA, giro pay, Sofort, Debit and Credit Card and for the Netherlands – Online betalen, Sofort, Debit and Credit Card appears as alternative payment method.
  2. This will prompt the buyer to provide their personal information.
  3. PayPal transfers the buyer to an alternative payment provider (bank, wallet) to confirm the purchase.
  4. Authorizes and confirms payment by the buyer.
  5. Upon returning to the merchant’s site, the buyer completes the transaction.
  6. The merchant initiates payment completion. Following the payment, PayPal will send funds to the merchant.

PayPal Express Checkout Button Settings

Step 1: Enable the PayPal Payment Gateway and Express Button

When you integrate the PayPal Express Checkout Button, your buyers can quickly checkout using the shipping information and funding source already stored in their PayPal accounts. They don’t have to re-type any information— saving them time and reducing shopping cart abandonment.

Step 2: Input the API Username, API Password, and API Signature

Requires a PayPal Business account linked with confirmed identity, email, and bank account.

To get the API credentials:

  • Log in to your PayPal business account.
  • Get API Access credential in any of the two ways:
    • Go to Activity at the top of the page and choose API Access or
    • From Account settings > API Access.
  • Scroll down to NVP/SOAP API Integration (Classic) and click Manage API credentials.
  • Create keys if not done already. Else, copy the API Username, API Password, and Signature
  • Paste API Username, API Password, and Signature in the respective fields of the plugin.

Step 3: Customize the Express Buttons

Following are the customization options:

The settings are as shown below:

  • Show Express button on: Displays PayPal Express button on chosen pages.
  • Show Express Credit button on: Displays a PayPal Express Credit button on selected pages. By using PayPal Credit, store owners will receive the payment upfront but customers can opt for financing and pay over time.

The express button on the cart page will appear as shown below:

PayPal Express Button-Cart page

The express button on the product page will appear as shown below. The buyer can checkout directly from the product page. Clicking the Checkout with the PayPal button/ PayPal Credit will redirect the buyer to the PayPal site.

PayPal Express Button-Product page
  • Description: Input description displayed above the PayPal Express button.
  • Type of Checkout: Select the type of PayPal checkout type. The available options are as given below:
    • Redirect to PayPal: Choose ‘Redirect to PayPal’ to open PayPal in the same window from the cart or checkout page.
    • In-Context Flow PayPal:   Choose ‘in-context flow’ to open PayPal in a new window from the cart or checkout page.

In-Context Flow Checkout

  1. Once the customer click the Checkout with PayPal button.
  2. The PayPal popup window appears as shown below:
  3. The customer will have to enter the PayPal login credentials and pay the order amount.  
  • Button Settings:
    • Position: Select the position of  PayPal Express/Credit Card checkout buttons from the given dropdown list. The available options are as given below:
      • Above: Displays PayPal Express/Credit Card checkout buttons above Add to Cart (Product page checkout) or Proceed to Checkout (Cart page checkout).
      • Below: Displays PayPal Express/Credit Card checkout buttons below Add to Cart (Product page checkout) or Proceed to Checkout (Cart page checkout).
    • Size: Select the Button size for PayPal Express/Credit Card  Button according to your choice. The available options are as given below:
      • Small
      • Medium
      • Large
  • Style: Select the style of PayPal Express/Credit ard checkout buttons from the dropdown list. The available options are as given below:
    • PayPal Style: Displays PayPal Express/Credit Card checkout buttons in PayPal style.
    • WooCommerce Style: Displays PayPal Express/Credit Card checkout buttons in WooCommerce style i.e. same style as Add to Cart / Proceed to Checkout.PayPal Express Button Style

Step 4: Save Settings

Checkout using Express button

The PayPal express button on the cart page will appear as shown below:

  1. The buyer can checkout directly from the product page or from the cart page.
  2. Then buyer can choose to pay using either Checkout with PayPal or PayPal Credit button.
  3. This will redirect the buyer to the PayPal Login page.
  4. The buyer needs to enter the PayPal login credentials and pay the order amount. If the customer checks out with PayPal Credit Card, the customer needs to enter the credit card and billing details. Finally, the customer is taken to the Review page(if not skipped in settings).
  5. The buyer can Place / Cancel the order by clicking the respective buttons.

Common settings

Branding

Set your brand identity at the PayPal end by giving a brand name, logo, banner etc. It will be visible for customers on the PayPal site on choosing to pay via PayPal.

The settings are as shown below:

  • Brand name: Enter your store name that will be displayed at the PayPal end.
  • Landing page: Redirects customers to the chosen page. By default, redirected to the billing page.
  • Logo(190×90): Upload a company logo that will appear on the PayPal end. Image requires an SSL host.
  • Header(750×90): Upload a header image that will appear on the PayPal end. Image requires an SSL host.
  • PayPal locale:
    • Use Store Locale: Choose to set the PayPal locale the same as the store locale.
    • Use Specific Locale: Choose to set a different locale other than store locale for the PayPal locale. (Drop down lists down the languages supported by PayPal)

The logo will appear at the PayPal end as shown below:

Advanced Settings

Instant payment

Disable to allow buyers to use funding sources that take additional time to complete (e.g. eChecks). Keep the option in the enabled state, to accept Payments via instant transfer, credit/debit card, or PayPal Credit.

Payment action

Option ‘Sale’ captures funds immediately. ‘Authorize’ verifies the availability of funds, and captures the payment later. The shop owner can capture payment from the individual WooCommerce order page. From the PayPal Express Action box, the shop owner/admin can capture the payment.

Authorize or Capture payment from the order page

You can place a hold on a card to reserve funds now but only capture them after your business completes the service. For example, a hotel may want to authorize payment in full prior to a guest’s arrival, then move the money when the guest checks out.
When a payment is authorized, the funds are guaranteed by the card issuer and the amount is held on the customer’s card for up to seven days. If the payment is not captured within this time, the PaymentIntent and authorization are both canceled and funds are released.

The store admin can capture the payment from WooCommerce > Orders > Individual Order. The Order page appears as shown below:

Order Capture

Under the PayPal Express Action box, Click Capture to get the order payment. On capture, the payment for the order will be received successfully.

Invoice Prefix

Enter an invoice prefix to identify transactions from your site. Suppose, you have added Extensionhawk_ in this field, then the Invoice Number will be Extensionhawk_12098.

Address override

Enabling will prevent the checkout address from being changed at the PayPal end. It will affect express checkout and PayPal will strictly verify the address.

Shipping details

Enable to send shipping details to PayPal instead of billing. PayPal allows us to send only one among shipping/billing addresses. We advise you to validate PayPal Seller protection to send shipping details to PayPal.

On payment cancel

Canceling express payment will redirect customers to the chosen page.

  • Back to Proceeding Page: Directs the customer to the page from where the customer navigated to PayPal.
  • Redirect to Custom Page: Directs the customer to customize the page from PayPal. Enter the URL of the customized page in the Cancel Redirect Page URL field.

Skip review page

Enable to skip the review page and move to the site directly. The plugin provides you an option to review the order before completion of the order. On the review page, the customer gets the option to place or cancel the order. The setting is as shown below:

Seller Policy: This field appears if you do not skip the Review page.  Enter Seller Policy or any customized text which you want to display on the Review page for the customer.

  1. On placing an order, the buyer is directed to Review Page of Order ( if not skipped in Admin settings) as shown below.
  2. The buyer can Place / Cancel the order by clicking the respective buttons.

Debug Logs

Records PayPal payment transactions into WooCommerce status log

  • Log: Enable to record PayPal payment transactions in a log file.

Finally, click Save changes to save/update the plugin settings.

This way the customer can place the order by paying through PayPal securely. For more details on the plugin, check out our PayPal Express Checkout Payment Gateway for WooCommerce.

  • Was this article helpful?
  • Yes, thanks!Not really
Get the plugin

On this page

  • Overview
  • Get Started
  • Choose the PayPal payment method
  • PayPal Smart Button Settings
  • Step 1: Enable the PayPal Payment Gateway and Smart Button
  • Step 2: Input the Client ID and Secret
  • Step 3: Customize the Smart Payment Buttons
  • Step 4: Save Settings
  • Checkout using PayPal Smart Button
  • PayPal Express Checkout Button Settings
  • Step 1: Enable the PayPal Payment Gateway and Express Button
  • Step 2: Input the API Username, API Password, and API Signature
  • Step 3: Customize the Express Buttons
  • Step 4: Save Settings
  • Checkout using Express button
  • Common settings
  • Branding
  • Advanced Settings
  • Debug Logs

This article posted in Documentation, Getting Started, Getting Started, PayPal Express Checkout Payment Gateway for WooCommerce, WooCommerce and tagged Paypal express checkout payment gateway for WooCommerce, Set up guide, woocommerce

Written by

WebToffee Team

WebToffee Team is a group of WordPress and WooCommerce enthusiasts consisting of expert developers, testing engineers, technical support engineers, and SMEs.

Comments (8)

  1. Kathleen

    August 28, 2021

    My customers keep getting the error : “No shipping method has been selected” and “Can’t proceed to pay via credit card as NO SHIPPING ADDRESS APPEARS” for a downloadable product. Product has been set up as Downloadable and Virtual – no shipping is required.

    Reply
    • Mark

      Mark

      September 6, 2021

      Hi Kathleen,

      Kindly submit a ticket here with the site URL.

      Reply
  2. Anthony

    August 8, 2021

    Each time a customer tries to complete an order via Paypal Express Chekout, they get returned to the cart page with an error, “No Shipping method selected”. All shipping methods are correctly setup works with other payment plugin

    Reply
    • Anthony

      August 8, 2021

      This problem is not coming from your plugin. It seems to be coming from a conflict your plugin has with “Multiple Packages for WooCommerce” and I don’t know why. Any ideas on how to resolve the conflict as I would like to be able to use both plugins together.

      Reply
      • Mark

        Mark

        August 12, 2021

        Hi Anthony,

        As we haven’t yet tested the plugin with Multiple Packages for Woocommerce plugin we cannot confirm the compatibility. Can you please test the same with Wooocommerce PayPal Standard and ensure that it is working correctly?

        Reply
  3. pKO Antony

    August 7, 2021

    Keep getting the error : No shipping method has been selected.

    Reply
    • Anthony

      August 23, 2021

      I found this was being cause by Multiple package plugin. Plugin disabled. Now the new error after multiple checks and test is “nonce verification failed” Could this be related to your plugin? It only happens during checkout and when your plugin payment method is active

      Reply
  4. Midselo

    July 17, 2021

    Thank you

    Reply

Got any query? Please leave a comment or reach out to our support

Cancel reply

Your email address will not be published. Required fields are marked *

We develop awesome WordPress plugins & WooCommerce extensions to help build successful online businesses.

© 2022 WebToffee. All rights reserved.

Our plugins

  • GDPR Cookie Consent
  • PDF Invoices & Packings Slips
  • Product Import Export Plugin
  • User & Customer Import Export
  • Import Export Suite
  • Sequential Order Numbers
  • Smart Coupons for WooCommerce
  • URL Coupons for WooCommerce
  • PayPal Express Checkout
  • Stripe Payment Gateway
  • Subscriptions for Woocommerce
  • Product Catalog Sync for Facebook
  • PrintNode for PDF Invoices
  • Order, coupon, subscriptions for WooCommerce
  • WordPress Backup and Migration
View more +

Get Started

  • Plugins
  • Testimonials
  • Affiliates
  • We're hiring

Help & Support

  • Documentation
  • Documentation (Basic)
  • FAQ
  • Support

Company

  • Terms & Conditions
  • Privacy Policy
  • Refund policy
  • Support policy
  • License Activation

© 2022 WebToffee. All rights reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website, to store user preferences and provide you with content and advertisements that are relevant. Such cookies will be stored on your browser but only upon procuring consent.

You will also have the option to opt-out of these cookies should you want to. But opting out of some of these cookies may have an effect on your browsing experience as per the descriptions elucidated against the respective categories below.

Necessary
Always Enabled
The cookies defined under this category are absolutely essential for the website to function. Hence they are loaded by default irrespective if user consent.
CookieDescription
__cfruidCloudflare sets this cookie to identify trusted web traffic.
__stripe_midStripe sets this cookie cookie to process payments.
__stripe_sidStripe sets this cookie cookie to process payments.
cookielawinfo-checkbox-advertisementSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analyticsSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
cookielawinfo-checkbox-necessarySet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
cookielawinfo-checkbox-preferencesThis cookie is set by the GDPR Cookie Consent plugin to check if the user has given consent to use cookies under the "Preferences" category.
CookieLawInfoConsentRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
PHPSESSIDThis cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user sessions on the website. The cookie is a session cookie and is deleted when all the browser windows are closed.
viewed_cookie_policyThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not a user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytics cookies help us understand how our visitors interact with the website. It helps us understand the number of visitors, where the visitors are coming from, and the pages they navigate. The cookies collect this data and are reported anonymously.
CookieDescription
_gaThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assigns a randomly generated number to identify unique visitors.
_ga_BQH8MSKD4MThis cookie is installed by Google Analytics.
_gat_gtagIdentification code of website for tracking visits.
_gidThis cookie is installed by Google Analytics. The cookie is used to store information on how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visited in an anonymous form.
_hjAbsoluteSessionInProgressHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeenHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjidHotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_hjIncludedInPageviewSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSampleThis cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate heatmaps, funnels, recordings, etc.
_hjIncludedInSessionSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjTLDTestTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
CONSENTYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
has_recent_activityThis cookie is used to signal to the code repository website if the user has browsed other website resources during the current session.
tk_aiGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_lrThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_orThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_qsGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_r3dThe cookie is installed by JetPack. Used for the internal metrics for user activities to improve user experience.
Advertisement
Advertisement cookies help us provide our visitors with relevant ads and marketing campaigns.
CookieDescription
_fbpThis cookie is set by Facebook to deliver advertisements when they are on Facebook or on a digital platform powered by Facebook advertising after visiting this website.
frThe cookie is set by Facebook to show relevant advertisements to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook Pixel or Facebook social plugin.
VISITOR_INFO1_LIVEA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Preferences
Preference cookies are used to store user preferences to provide them with content that is customized accordingly. This includes the language of the website or the location of the visitor.
CookieDescription
_gh_sessThis cookie is used to preserve users' states across page requests.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
_hjSession_137657130 minutesNo description
_hjSessionUser_13765711 yearNo description
_octo1 yearNo description available.
_zendesk_authenticatedpastNo description
_zendesk_sessionsessionNo description available.
_zendesk_shared_sessionsessionNo description available.
edd_wp_session12 hoursNo description available.
logged_in1 yearNo description available.
m2 yearsNo description available.
Save & Accept