Checkout for PayPal WordPress Plugin

Checkout for PayPal WordPress plugin connects PayPal to your WordPress website and makes e-commerce available for you. With this PayPal plugin, you can create smart payment buttons with a simple shortcode to accept PayPal payments from your customers.

Checkout for PayPal plugin uses the PayPal Checkout API to create a simplified and secure checkout experience for your customers. With one simple shortcode, you can add a PayPal smart payment button to your website that lets you accept PayPal, Pay Later, credit and debit card payments from any mobile device, tablet, or PC.

checkout for paypal wordpress plugin

PayPal Pay Later

When eligible, your existing PayPal checkout buttons change to show a new Pay Later button. When customers select Pay Later, they can pay with flexible, buy now, pay later financing offers.

PayPal offers short-term, interest-free payments and other special financing options that buyers can use to buy now and pay later, while merchants still get paid up-front. Because pay later offers are included with PayPal Checkout, you won’t pay additional costs.

Pay later offers include the following:

  • Pay in 4, which buyers can use to pay for purchases in four, interest-free installments.
  • PayPal Credit, a revolving line of credit that buyers can use to pay over time.

Note: This is NOT an official PayPal product.

Features

  • Accept PayPal, Pay Later (Pay in 4 and PayPal Credit) payments
  • Accept Venmo payments
  • Accept credit card and debit card payments
  • Accept one-time payments
  • Accept donation payments
  • Smart Fast PayPal Checkout
  • No monthly fee
  • Simplified and secure mobile checkout experience
  • Simplified PCI compliance
  • Checkout with a click of the button
  • Support Venmo checkout
  • Support PayPal guest checkout (PayPal checkout without an account)
  • Accept payments in multiple countries and currencies
  • Accept custom PayPal payments by allowing customers to set the amount they will pay

Eligibility for Venmo Payments

  • US-based merchants and US-based consumers only
  • Transaction must be in USD
  • Buyers on mobile devices must use Safari on iOS or Chrome on Android
  • Buyers on desktop web browsers can use any major web browser
  • Buyers must have the Venmo iOS or Android app installed
  • One-time payments, including authorization and capture use cases, are supported
  • Billing agreements, Multiple seller payments, and Shipping callback are not supported
  • Transaction must be an online purchase (buy online, pay in store is not supported)

Checkout for PayPal Plugin Installation

  • Login to your WordPress admin dashboard
  • Go to Plugins->Add New
  • Enter Checkout for PayPal in the search box
  • Once you find the plugin hit the install button

Option 2

  • Download the zip version of the plugin
  • Go to Plugins->Add New and switch to the Upload tab
  • Select the zip file on your computer
  • Upload and install it

Option 3

  • Download the Checkout for PayPal plugin and extract the zip file
  • Connect to your website via FTP (you can use a software like Filezilla to transfer files to your server) and browse to the “/wp-content/plugins” folder
  • Select the folder containing the plugin files on your computer and upload it
  • Once all the files have been uploaded to your web server you can activate the plugin from the Plugins menu (WordPress admin dashboard)

How to Configure Checkout for PayPal

Checkout for PayPal uses PayPal REST API to add smart payment buttons to your website. To Generate REST API credentials for the sandbox and live environments:

  1. Log in to the Developer Dashboard with your PayPal account credentials.
  2. On My Apps & Credentials, use the toggle to switch between live and sandbox testing apps (If you are creating a Sandbox app, you will also need to select a test business account that will act as the API caller).
  3. Navigate to the REST API apps section and click Create App.
  4. Type a name for your app and click Create App. The app details page opens and displays your credentials.
  5. Copy and save the client ID and secret for your app.
  6. Review your app details and save your app.

Log in to your WordPress admin dashboard and navigate to Checkout for PayPal > Settings.

general settings of the checkout for PayPal WordPress plugin
  1. Enter the Client ID for your REST API app.
  2. Enter the Secret Key for your REST API app.
  3. Enter the default Currency Code.
  4. Enter a return page URL to which the customer will be redirected after a payment.
  5. Click Save Changes.

General Settings

There are some optional settings in the General tab that you can configure to customize the Checkout experience.

Cancel URL

The default URL to which a customer will be redirected after a payment is cancelled.

Locale

The locale used to localize PayPal Checkout components. For example, fr_FR. The default is empty where PayPal detects the correct locale for the buyer based on their geolocation and browser preferences.

If you wish to customize this parameter you can find the full list here.

Load Scripts Globally

By default, checkout scripts are loaded only when a shortcode is present on a page. Enabling this option will load the scripts on every page.

Enabled Funding Sources

Funding sources that should be displayed as buttons at checkout (comma-separated format). Example:

  • venmo
  • venmo,credit
  • venmo,credit,paylater

It is not necessary to manually specify a funding source as the eligibility is determined by PayPal automatically. However, this field can be used to ensure a funding source is always rendered, if eligible. You can find the full list of funding sources here.

Disabled Funding Sources

Funding sources that should not be displayed as buttons at checkout (comma-separated format). Example:

  • card
  • card,credit
  • card,credit,paylater

You can find the full list of funding sources here.

Email Settings

In the email settings area, you can choose to configure some email related settings.

Email Sender Options

In this section, you can specify a From Name and From Email Address that will be used by the Checkout for PayPal plugin when sending an email. You can leave them empty to use the default.

email sender options in the checkout for paypal plugin

Purchase Receipt Email

Checkout for PayPal plugin allows you to send a purchase receipt email to the customer after completion of a successful purchase. By default, this feature is disabled. In order to use this feature, you need to enable it in the settings.

purchase receipt email related options in the checkout for paypal plugin

You can customize the following options in the purchase receipt email,

  • Purchase Receipt Email Subject: The subject line for the purchase receipt email.
  • Purchase Receipt Email Type: The content type of the purchase receipt email (Plain Text/HTML).
  • Purchase Receipt Email Body: The main content of the purchase receipt email. You can use various tags in the email body to dynamically change its content when it is sent.

Sale Notification Email

Checkout for PayPal plugin can send a sale notification email to your chosen recipient after completion of a successful purchase. By default, this feature is disabled. In order to use this feature, you need to enable it in the settings.

sale notification email related options in the checkout for paypal plugin

You can customize the following options in the sale notification email,

  • Sale Notification Email Recipient: The email address that should receive a notification anytime a sale is made.
  • Sale Notification Email Subject: The subject line for the sale notification email.
  • Sale Notification Email Type: The content type of the sale notification email (Plain Text/HTML).
  • Sale Notification Email Body: The main content of the sale notification email. You can use various tags in the email body to dynamically change its content when it is sent.

Email Tags

The following email tags can be used in the email body to dynamically change its content when an email is sent,

{given_name} – The customer’s given name.

{surname} – The customer’s surname.

{txn_id} – The unique transaction ID for this purchase.

{description} – The purchase description.

{currency_code} – The currency code used to make the payment.

{amount} – The total order amount.

{item_total} – The total item amount.

{payer_email} – The customer’s email address.

{shipping_name} – The customer’s shipping name.

{shipping_address} – The customer’s shipping address.

{shipping} – The shipping fee.

{phone_number} – The customer’s phone number (available only when the “Contact Telephone Number” option is enabled in your PayPal merchant account under “Account Settings > Website payments > Website preferences”). PayPal only supports national numbers at the moment.

How to Create a Smart PayPal Button

In order to create a smart payment button, you just need to insert a shortcode with a description and a price in the button parameter. The shortcode needs to be inserted into a shortcode block of the default WordPress post/page editor.

[checkout_for_paypal item_description="My item description" amount="3.99"]

If you want to use the shortcode in a custom field, the field name must be checkout-for-paypal-custom-field and the field type must be WordPress editor.

PayPal Smart Payment Button Demo

PayPal smart payment buttons created using the Checkout for PayPal WordPress plugin

PayPal Button Customizations

Item Description

The “item_description” parameter can be added to the shortcode to pass a description of your item to PayPal. For example:

[checkout_for_paypal item_description="My item description" amount="3.99"]

Return URL

The “return_url” parameter can be added to the shortcode to redirect the customer to a specific page on your site after the payment. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" return_url="https://example.com/thank-you/"]

Cancel URL

The “cancel_url” parameter can be added to the shortcode to redirect the customer to a specific page on your site when the payment is cancelled. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" cancel_url="https://example.com/payment-cancelled/"]

Shipping Preference

The “shipping_preference” parameter can be added to specify the location from which the shipping address is derived. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" shipping_preference="NO_SHIPPING"]

The default is GET_FROM_FILE.

Button Layout

The “layout” parameter can be added to the shortcode to change the layout of the PayPal button to horizontal. The default is vertical. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" layout="horizontal"]
paypal smart payment buttons in horizontal layout

The horizontal layout shows a maximum of two buttons.

Button Color

The “color” parameter can be added to the shortcode to change the color of the PayPal button to blue, silver, white or black. The default is gold. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" color="blue"]

Button Shape

The “shape” parameter can be added to the shortcode to change the shape of the PayPal button to pill. The default is rect. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" shape="pill"]

Button Size

The “width” parameter can be added to the shortcode to change the width of the PayPal button. The default is 300px. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" width="500"]

Shipping

If you wish to charge a shipping fee for the item you can use the “shipping” parameter in the shortcode. For example:

[checkout_for_paypal item_description="My item description" amount="3.99" shipping="1.50"]

Manage PayPal Orders

When you receive a new order through PayPal checkout it will appear in the Orders menu. You can then ship the goods to finalize it.

checkout for PayPal orders menu

Checkout for PayPal Add-ons

Checkout for PayPal plugin comes with an add-on that you can use to enhance its functionality on your website.

Variable Price

Variable Price add-on lets buyers set the amount they will pay. It can also be used for accepting donation payments.

Dynamic Buttons

Dynamic Buttons add-on lets you render a different button based on the parameters set in the URL.

Contact Form 7 Integration

Contact Form 7 Integration add-on lets you accept PayPal payments with the Contact Form 7 plugin.

73 thoughts on “Checkout for PayPal WordPress Plugin”

  1. Where will i get the shipping Address?

    Reply
    • @micha, The order page in the plugin shows the shipping address. There is also an email tag for it.

      Reply
  2. Any way to test the plugin without actually completing the payment?

    Reply
    • @Ao, You can use your PayPal sandbox account.

      Reply
  3. Hi:
    Does this plugin create a shopping care? In other words, can you sell more than one item at a time? My client has albums to sell – say ten different albums. They would all be listed for sale on the same page. Does this plugin allow that? Also does this plugin allow for quantities? Two copies of this CD, one copy of this other CD?

    If this plugin doesn’t do that, do you have one that does and works with the new intensely annoying PayPal system?

    Thank You!

    Reply
    • @Paula, Unfortunately shopping cart is not possible with our plugin.

      Reply
  4. Bummer.

    Thanks for the reply.

    Reply
  5. The plugin needs the orders export button, or the plugin have this functionality hidden?

    Reply
    • @Fernando, you can export/import orders like normal WordPress posts.

      Reply
      • I have checked that, but it exports in the “content” field everything that is the order, Is there a possibility to extract only the description field (which corresponds to the description of the purchase) instead of extracting the entire order from the field “content”?

        Thanks.

        Reply
        • @Fernando, That’s not possible unfortunately.

          Reply
  6. Hi… I need to have shipping and shipping2 variables sent to PayPal… also is there a way to order multiples of an item?

    Thank you,
    Steve

    Reply
    • @Steve, It is possible to add shipping to an item.

      Reply
  7. Hi,

    I am needing to add the mobile phone field to the sale notification email. What is the email tag for this?

    Thanks,
    Chad

    Reply
    • @Chad, We have just added an email tag for it. Please check the updated documentation for instructions.

      Reply
  8. Hi, I see it is possible to use the Paypal buttons also to pay without a Paypal account (Credit/debit card options). In this case, how can I get the buyer’s email (for example) in order to send a receipt or a confirmation message?
    Thanks.

    Reply
    • @Christian, A confirmation email can only be sent if PayPal provides an email address to the plugin.

      Reply
  9. When a PayPal account holder is making a purchase from my site, their PayPal account email address is not being recognized as a PayPal account. When they click the “Log In” button (trailing on the same line after the question, “Have a PayPal account?” they enter their email address and click – then it takes them back to the same screen that says “Have a PayPal account? [Log In]” I have tried using a different browser and incognito web browsing to get to the site. I got the plugin today and they installation seemed to go well. With that one exception, everything seems to be fine.

    Reply
  10. Never mind my previous comment — I’m still in the sandbox! I thought I had changed that to go live.

    Reply
  11. Can I receive the billing address of the form-filer when there is no shipping?

    Reply
    • @SUZAN, PayPal does not seem to pass any billing address at the moment.

      Reply
  12. Hi,

    Great plugin! I have the need for a dynamic price and return URL so I am using do_shortcode. I already saw this topic https://wordpress.org/support/topic/do_shortcode-not-working-18/ and it is working. However, I do not really like to load the scripts on every page. Is there any way this can be avoided and still use do_shortcode?

    Many thanks

    Reply
    • @John, When you manually filter the shortcode with do_shortcode, WordPress cannot tell the plugin where it is being used.

      Reply
      • I added a custom field to the post with no parameters as per the installation instructions and the scripts load. I think this is a suitable way to overcome the problem.

        Reply
        • Hi John and Noor,

          I can’t find a reference to this workaround in the installation instructions. Can you kindly point it out? Thanks,

          Osvaldo

          Reply
          • @Osvaldo, What workaround are you looking for?

          • Noor,

            The workaround John mentioned is to avoid having to load the scripts on every page when using do_shortcode. His quote:
            “I added a custom field to the post with no parameters as per the installation instructions and the scripts load. I think this is a suitable way to overcome the problem.”

            Osvaldo

          • @Osvaldo, Thanks. We don’t think it’s possible.

          • Hi Noor,

            Since I’m generating the html for this page anyway, I just inserted the PayPal script loading in my php program. It seems to work. Any drawback to this approach you can see? Thanks,

            Osvaldo

          • @Osvaldo, It should be fine if you are not changing options frequently.

  13. Is it possible to pass through the item_description and/or other parameters with the return_url and cancel_url? This is to enable further processing once the payment is confirmed/cancelled.

    Alternatively, are there any hooks in the order processing code that would enable a similar functionality?

    Thanks!

    Reply
    • @Osvaldo, This action hook is executed after a payment is processed: do_action('checkout_for_paypal_order_processed', $details);

      Reply
  14. Thanks Noor.

    Alternatively, if technically possible, I think the addition of parameters ‘return_url’ and ‘cancel_url’ to the shortcode would be useful to many. Thanks for the plugin!

    Reply
  15. hi
    how i can change button color

    Thanks

    Reply
    • @sanjay, You can use the color parameter in the shortcode.

      Reply
  16. Hi Noor,

    It’s me again. I’m trying to get rid of the tagline below the button (e.g. “The safer, easier way to pay”), but I realized it requires a modification of the plugin, as explained here: https://developer.paypal.com/sdk/js/reference/#link-label

    If you’re so inclined, put this at the bottom of your no doubt very long to-do list: add a parameter to the short code to disable the tagline. Let me know if I can help in any way.

    Cheers,

    Osvaldo

    Reply
    • @Osvaldo, Are you using the horizontal layout? It doesn’t appear for the default vertical layout.

      Reply
      • Problem solved! Thank you!

        Reply
  17. I’m seeing the following message: “Checkout for PayPal integration requires an update. Please update your API credentials in the settings and test to ensure everything is working.”

    I am not sure what is needed. Can you provide some advice about why this is now being displayed? Thanks!

    Reply
    • @Michael, You need to add secret keys.

      Reply
      • But I have already added them, ages ago. Has something changed in the app recently that I need to add them again?

        Reply
        • @Michael, It wasn’t there before.

          Reply
          • Oh, I see. I guess I had it confused with the “client ID.”

            Thanks for your prompt response. Please let me know if there is a way to support your work financially. I would be happy to kick in a few bucks as I really appreciate the plugin.

          • @Michael, Thanks. We really appreciate the offer.

  18. Hi,

    Is there a plan to include an option f9r PayPal Complete Payments integration in the future. I want to switch over to it but I don’t want to have to use WooCommerce just for that.

    Many thanks for such a great plugin.

    Regards,
    John

    Reply
    • @John, What is f9r?

      Reply
      • f9r is a spelling mistake. Should be “for”.

        Reply
        • @John, Thanks. What are you expecting in that integration?

          Reply
          • PayPal have contacted me to suggest I set it up on my account. On the Woocommerce Add on it is a simple option to select although I have no idea what it does or what the change would involve. I know PayPal Complete Payments was only released recently and I’m afraid I don’t know enough about this to answer your question.

          • @John, No worries. We will check what it is.

          • It is also known as Advanced Checkout.

          • Here is the info from PayPal.

            https://developer.paypal.com/docs/checkout/advanced/integrate/

            I am told that standard checkout is legacy and support for it will be removed in the future.

            Is there a move to integrate this option into the plugin?

          • @John, Thanks for the link. We are not aware of such announcement. If they do discontinue this method we will definitely upgrade the integration.

          • Ok thanks for the reply. This is something I would be willing to pay for as the PayPal fees would be significantly lower for me.

  19. After updating to v1.0.29 from version v1.0.27 the plugin is no longer working.
    I have set the API keys again but the payment buttons are now longer showing on the webpage.

    Why?

    Reply
    • @Martin, Simply updating the plugin shouldn’t cause any issues. However, the API integration has been updated. If you see a notice after the update that means you are using the old integration. Once you update your API keys in the plugin settings, it will use the latest integration.

      Reply
      • I’m aware of that. I have updated the API keys and checked the checkbox on the setting page, message is gone but also are the possibility to get the payment buttons on the front end. Did a downgrade to 1.0.27 and everything is fine.

        API Keys are 100% correct..

        Reply
        • @Martin, The notice is there for a good reason. There is no need to manually disable it. It will automatically disappear once your API keys are updated.

          Reply
          • Still the payment front end is disabled after updating the plugin and keys. All payment buttons are gone on the front end.

  20. I am getting below error while using the plugin and it is not showing the button of PayPal.

    Error:
    Uncaught ReferenceError: paypal is not defined
    at initPayPalButton66caf787c8356 (transportation-management-system-market-23003/:1730:13)
    at HTMLDocument. (transportation-management-system-market-23003/:1857:9)
    at e (jquery.min.js?ver=3.7.1:2:27028)
    at t (jquery.min.js?ver=3.7.1:2:27330)

    Reply
    • @Nandji, Please provide a link to the page in question.

      Reply
      • @Noorsplugin, Please find the link as below.

        https://rngsc.com/transportation-management-system-market-23003/

        Reply
        • @Nandji, Thanks. The required PayPal script is not present on that page. Is there something on your site that is blocking it? Are you using the shortcode in the content area of that page?

          Reply
          • Yes I am using the short code which conditionally display the buttons.

          • @Nandji, Thanks. Enable the “Load Scripts Globally” option in the plugin settings and see what happens.

Leave a Comment