WordPress PayPal Plugin

WordPress PayPal plugin connects PayPal to your WordPress site and makes e-commerce available for you. With the WordPress PayPal plugin, you can create various types of buttons such as Add to Cart, Buy Now, Donation or Subscription with a simple shortcode to accept PayPal payments from your users. This plugin allows both one-time and recurring subscription payments so you can run your online store with great ease.

WP PayPal plugin uses the PayPal Payments Standard API to create a checkout process for your customer that is fast, easy, and intuitive. With one simple shortcode, you can add a secure payment button to your website that lets you accept credit card, debit card, and PayPal payments from any mobile device, tablet, or PC.

WordPress PayPal Info

Plugin Name: WordPress PayPal
File Format: application/zip
Requires: WordPress 5.7
Rating: 4.3 based on 31 votes
See All Ratings/Submit Your Rating Here
Price: 0 USD


  1. A self-hosted WordPress site running on a WordPress Optimized Environment.
  2. A PayPal account that supports selling online.


  • Accept PayPal and PayPal Credit (US only) payments
  • No monthly fee
  • Accept credit cards and debit cards
  • Optimized mobile checkout experience
  • Accept one-time or recurring payments
  • Simplified PCI compliance
  • Accept donations
  • OneTouchTM enables checkout with a click of a button
  • Accept 25 currencies from over 200+ countries and markets

How to Install PayPal in WordPress

  • Login to your WordPress admin dashboard
  • Go to Plugins->Add New
  • Enter WP 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 zip file and extract it
  • 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 PayPal in WordPress

Here is a video that shows how you you can set up PayPal in WordPress with the WP PayPal plugin.

In order to create a button, you need to insert a shortcode and specify the type in the button parameter.

Buy Now

[wp_paypal button="buynow" name="My product" amount="1.00"]

Add to Cart

[wp_paypal button="cart" name="My product" amount="1.00"]

View Cart

[wp_paypal button="viewcart"]


[wp_paypal button="donate" name="My product"]


[wp_paypal button="subscribe" name="My product" a3="1.00" p3="1" t3="M" src="1"]

For subscription setup see how to create a subscription button in WordPress.

PayPal Button Demo

screenshot showing buttons created using WordPress PayPal plugin

PayPal Button Customizations

Button Image

“button_image” parameter can be added to the shortcode to show your own button image instead of the default PayPal button. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" button_image="https://example.com/images/buy.png"]


“shipping” parameter can be added to the shortcode to charge shipping for an item. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" shipping="1.75"]


“shipping2” parameter can be added to the shortcode to charge shipping for each additional unit of an item. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" shipping="1.75" shipping2="0.75"]

This means, If a user orders:

My Product (Quantity 1), total shipping would be $1.75.

when the order becomes:

My Product (Quantity 2), total shipping would be $1.75 + $0.75.

When it contains:

My Product (Quantity 3), total shipping would be $1.75 + $0.75 + $0.75.

And so on.

This feature is also very useful if you want to offer shipping at a discounted rate for each additional item.


“tax” parameter can be added to the shortcode to charge GST for an item. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" tax="2.15"]

Handling Fees

“handling” parameter can be added to the shortcode to charge handling fees for an item. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" handling="2.50"]

This parameter is not quantity-specific. That means the same handling cost applies, regardless of the number of items on the order.

Success Page

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

[wp_paypal button="buynow" name="My product" amount="4.99" return="https://example.com/thank-you"]

Cancellation Page

“cancel_return” parameter can be added to the shortcode to redirect the user to a specific page on your site if they cancel checkout before completing the payment. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" cancel_return="https://example.com/payment-canceled"]


To use a different currency code than the one you specified in the settings, you can add the “currency” parameter to the shortcode. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" currency="SGD"]

Show/Hide Shipping Address

“no_shipping” parameter can be added to the shortcode to control whether or not to prompt buyers for a shipping address. Allowable values are,

  • 0 – Prompt for a shipping address but do not require one (This option is set by default)
  • 1 – Do not prompt for a shipping address
  • 2 – Prompt for a shipping address and require one

For example:

[wp_paypal button="buynow" name="My product" amount="4.99" no_shipping="1"]

Shopping URL

“shopping_url” parameter can be added to the shortcode to redirect buyers to a page when they click the Continue Shopping button on the PayPal Shopping Cart page. This parameter can only be used with an Add to Cart button. For example:

[wp_paypal button="cart" name="My product" amount="4.99" shopping_url="https://example.com/shop"]

Allow Buyers to Specify the Quantity

“undefined_quantity” parameter can be added to the shortcode to allow buyers to specify the quantity of the item on the Paypal payment page. This parameter is only used with a Buy Now button. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" undefined_quantity="1"]

Open PayPal Button in a New Window/Tab

“target” parameter can be added to the shortcode to open a PayPal button in a new window or tab. For example:

[wp_paypal button="buynow" name="My product" amount="4.99" target="_blank"]

Manage PayPal Orders

When you receive a new order it will appear in the Orders menu. You can then do the following to finalize it:

1) Send a purchase confirmation email to the customer (include download links if applicable)

2) Ship the goods

screenshot showing how to manage PayPal orders in WordPress

WP PayPal Extensions

WP PayPal plugin comes with a couple of extensions that you can use to enhance its functionality on your website.

1. Custom Buy Now Amount

With this extension, your buyers will be able to purchase an item with a custom price.

screenshot of custom price field created by the WP PayPal Buy Now Custom Amount extension

All you need to do is install this extension and leave the amount parameter empty in the shortcode.

[wp_paypal button="buynow" name="My product" amount=""]
WP PayPal Buy Now Custom Amount
WP PayPal Buy Now Custom Amount
Allow buyers to enter a custom price amount for your WP PayPal Buy Now buttons
Price: $29.99

2. Buy Now Discount

Buy Now Discount extension allows you to offer various automatic discount options with your WP PayPal Buy Now buttons.

Check out the extension page here

Additional Resources

Subscription Button

Frequently Asked Questions

Why is my PayPal payment pending?

If you have sent a PayPal payment that is pending, it’s possible the recipient hasn’t accepted it yet. This may happen if the recipient’s account is configured to review each payment that they receive. It can also happen if the payment is made in a currency that is different from the recipient’s primary currency. In that case the recipient will need to manually review the payment by either converting it to the primary currency or create a new balance in the payment currency. If recipient approves the payment once they will be able to receive payments in that currency in the future automatically.

Disclosure: This page may contain affiliate links. If you follow one of those affiliate links and purchase something it will provide me with a little bit of a commission. This costs you nothing extra but helps maintain my site, free plugins, and themes. So I thank you for your support.

590 thoughts on “WordPress PayPal Plugin”

  1. Hello, I am using Version of the plug-in. From it’s description it would do exactly what I wanted so I installed it and did some tests. All went well until I tried to use the ‘return’ & ‘cancel_return’ parameters.
    Eventually, by viewing the page source, I discovered that those 2 parameters were not included with the other shortcode parameters. This turned out to be a space that had appeared in the urls which I hadn’t spotted due to line wrapping in the editor. It now works great on my live website so I copied it to my dev site to amend and use for another payment. I’m now back to where I was – it ignores ‘return’ & ‘cancel_return’ and cannot find out why. Any advice to track down the problem would be greatly appreciated. Thanks.

    • @John, Please provide the shortcode and a link to the page in question so I can check it.

      • Hi, I made a simple test page and took out all the parameters generated by code.
        The following the page just has the following in a Classic Editor:

        [wp_paypal button="buynow" name="Pitch Booking" amount="10" no_shipping="1"

        When I run this it shows the correct info in PayPal and claims a payment has been made but that never appears in my test store. There’s also no cancel button and the Return to Seller button doesn’t work!

        • @John, The shortcode looks broken. Please copy it from here and paste as plain text:

          [wp_paypal button="buynow" name="Pitch Booking" amount="10.00" no_shipping="1" return="https://dev.swift-owners-club.com/index.php/test-pp-response?res=complete&id=100" cancel_return="https://dev.swift-owners-club.com/index.php/test-pp-response?res=cancelled&id=100" button_image="https://www.paypalobjects.com/webstatic/en_US/i/buttons/buy-logo-large.png"]

          Do you have the debug option enabled in the settings? The log file will show if the plugin is receiving notifications from PayPal.

  2. So, ive test the plugin.. it works at first few months..

    but right now.. its not posting on the “ALL ORDERS” the successful payments made?..

    • @Jhowell, Please enable debug, reset the log and make a test purchase so I can check it.

  3. Hello, is it possible to use this payment method for a marketplace made in woordpress setting a commission for the wordpress administrator? That is, I create a markeplace-style web, so that 2 registered users agree and a transaction is made between them. A% of that transaction would remain in an account of the web administrator.

    Thanks and Regards

    • @Javier, Unfortunately that’s not possible with this plugin.

  4. I added the button_image parameter but the picture does not show up.

    • @John, Have you fixed it? I can see the button image now.

      • No I can’t get the custom image to work. Apparently the plug-in I was using is not supported by this forum.
        I am now using a different plug-in.

  5. ?works great on desktop and tablet but buttons will not work on mobile phone

    • Works ok for me.
      Scroll down and click the collection plate.


Leave a Comment