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

  • Getting Started
    • Plugin Setup
    • Subscription Synchronization
  • Subscriptions Payment Gateway Guide
    • Change Payment Method
    • PayPal payment method for subscription
    • Supported Payment Methods
  • Manually Add or Modify Subscriptions
    • Add/Edit subscription manually
  • Email Notifications
    • Subscription Notifications
  • FAQ
    • Change 'Add to Cart' button text
    • Redirect to custom page after purchase
    • Alter subscription expiry date range
    • Remove tab menus from My Account page
    • Subscription coupons
    • Alter default subscription billing interval
    • Change order status after payment
  • Changelog
    • Version 3.2.6

Documentation/Subscriptions for WooCommerce/How to setup PayPal payment method for subscription

How to setup PayPal payment method for subscription

Last updated on April 25, 2022

Since WooCommerce version 5.5.0, PayPal Standard is hidden for new installations. This change doesn’t affect existing stores. Therefore, this artcile is specifically meant for existing PayPal standrad users.

The subscription plugin and its associated payment gateways have to work hand in hand for a faultless recurrence payment. Our plugin, Subscriptions for WooCommerce provides an extension for Paypal which is the inbuilt WooCommerce payment gateway. PayPal handles the automatic recurring subscription payment in the following two different manners:

  • PayPal Standard
  • PayPal Reference Transactions

PayPal Standard

Paypal standard is a widely used payment method as it’s very easy to set up. You will need to have the following requirements prior to using PayPal Standard as the payment method for the subscription products:

  • verified PayPal business account
  • IPN (Instant Payment Network) configured appropriately as mentioned below in the section Configuring PayPal IPN
  • valid PayPal API credentials entered into WooCommerce

Set up and Configuration

Follow the steps to configure PayPal Standard:

  1. Go to: WooCommerce > Settings > Payments.
  2. Use the toggle under Enabled to select PayPal.
  3. Select Set up. You will be redirected to the PayPal Standard settings.
  4. Enter your email address in the PayPal Email field, which is the most important thing to configure before making payments. The email entered here must match with the email on the PayPal Business account.
PayPal-Basic details
PayPal-Basic details

Advanced Options

  • Select the Enable PayPal Sandbox checkbox if you wish to test the checkout process during your store’s development. With sandbox enabled, no payment/money is taken. Create a separate sandbox account via PayPal Sandbox to use PayPal in sandbox mode.
  • Debug log may also be turned on, which can be useful during development. You may need to first create a wc-logs folder and set permissions to make it writable. These logs are available at WooCommerce > System Status > Logs and then select the PayPal log from the dropdown.
  • Instant Payment Notifications (IPN) are sent from PayPal when you receive a payment, issue a refund or a chargeback or cancellation. Tick the box for Enable IPN Email Notifications (optional).
  • Enter an email address for Receiver Mail if this address is different than the PayPal email address you entered above in step 4.
  • PayPal Identity Token (optional). Only required if you signed up for the Data Transfer option on your PayPal account; can be used to verify payments if you have IPN issues.
  • Specify an Invoice Prefix (useful if you have multiple stores). WC is defaulted to denote WooCommerce transactions.
  • There are two shipping options:
    • Send shipping details to PayPal: If you want WooCommerce to send the shipping details to PayPal to create shipping labels instead of billing, enable this checkbox.
    • Address override option: PayPal verifies addresses if enabled, therefore, it is advised to keep it disabled, but it can be useful in preventing address information from being changed.
  • Payment Action lets you choose to Capture funds immediately or only Authorize. Once an ‘authorize only’ order has been changed to Processing or Completed, funds are automatically captured as long as you have entered your PayPal API Credentials under WooCommerce > Settings > Payments > PayPal.
  • In Page Style, optionally enter the name of the page style you wish to use. These are defined within your PayPal account. This affects classic PayPal checkout screens.
  • Image URL optionally enter the URL to a 150x50px image displayed as your logo in the upper left corner of the PayPal checkout pages.
  • PayPal-Advanced Options
    PayPal-Advanced Options
  • There are three fields to paste API information into:
    • API Username
    • API Password
    • API Signature
  • PayPal-API Credentials
    PayPal-API Credentials

    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.

    Paypal Reference Transactions

    Paypal Reference transactions are considered in cases where the PayPal standard fails to meet certain requirements or when advanced subscriptions features have to be implemented. However, PayPal Reference transactions can be availed only by privileged customers approved by PayPal. If your account is approved, Subscriptions will automatically detect that Reference Transactions are supported and switch to using that payment method. On the other hand, If your account does not have Reference Transactions enabled, WooCommerce Subscriptions continues to use PayPal Standard for subscription purchases and recurring payments.

    Refer to know How do I get Reference Transactions Enabled with PayPal?

    Configuring PayPal IPN

    Be it PayPal Standard or Reference Transactions, both the payment gateways make use of the PayPal IPN (Instant Payment Notification) to monitor recurring payments and updates in subscription status.

    • From your PayPal Business account, go to Profile > Account settings > Notifications.
    • Update the instant payment notification.
    • To start or stop receiving IPN messages and to decide where to send them, click the Choose IPN Settings button.
    • Enter the notification URL and enable Receive IPN messages as shown below:
    PayPal IPN Settings
    PayPal IPN Settings
    • Was this article helpful?
    • Yes, thanks!Not really
    Get the plugin

    On this page

    • PayPal Standard
    • Paypal Reference Transactions
    • Configuring PayPal IPN

    This article posted in Documentation, Knowledge Base, Subscriptions for WooCommerce, Subscriptions Payment Gateway Guide and tagged PayPal, Set up PayPal, Subscriptions for WooCommerce, woocommerce

    Written by

    Shesna

    Shesna is a technical content writer for WebToffee. She is familiar in working closely with the SMEs to break down complex technical information into a concise, easy to understand manner.

    Comments (5)

    1. John

      October 4, 2022

      No longer working? I get an error saying “Sorry, it seems there are no available payment methods which support subscriptions.” now.

      Reply
      • Mike

        Mike

        December 5, 2022

        Hi John,

        In order to enable recurring payments using WooCommerce PayPal Payments, you need to enable the below-listed options in PayPal:

        1. Vaulting must be enabled in the plugin settings (can only be enabled when it is active for the PayPal REST application).
        2. Ensure that the plugin is subscribed to the latest webhooks.
        3. Reference Transactions are required for automatic subscription renewal payments via PayPal.
        Reply
    2. ROBERT EMMA

      ROBERT EMMA

      March 24, 2022

      For some reason, paypal standard stopped working for subscription products.

      Reply
    3. Joanne

      Joanne

      February 21, 2022

      HI
      If I add Subscriptions plugin to my woocommerce page
      when I add a product and set it to subscription
      how do I make sure it takes the said amount out of their Credit Card (( stripe )) and or (( paypal )) every month or every year automatuically
      I am setting up a subscription for a PAID service SEO
      thanks

      Joanne

      Reply
      • Mark

        Mark

        March 21, 2022

        Hi Joanne,

        Greetings from Webtoffee!

        If a user purchases a subscription product created using our Subscription for Woocommerce plugin using a compatible Stripe or PayPal plugin, it will be automatically charged based on the recurring billing charge. There are no special configuration needed.

        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.

    © 2023 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

    © 2023 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