Payment Button for PayPal (also known as WP PayPal) plugin connects PayPal to your WordPress site and makes e-commerce available for you.
Payment Button for PayPal plugin uses the PayPal 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.
Note: This is NOT an official PayPal product.
Features
- Accept PayPal and PayPal Credit payments
- No monthly fee
- Accept credit cards and debit cards
- Optimized mobile checkout experience
- Accept one-time payments
- Simplified PCI compliance
- Accept donations
- OneTouchTM enables checkout with a click of a button
- Accept 25 currencies from over 200+ countries and markets
- Accept PayPal Pay Later (Pay in 4) payments
- Accept payments with PayPal smart payment buttons
- Accept PayPal Checkout payments (previously known as Express Checkout)
How to Install Payment Button for PayPal in WordPress
- Login to your WordPress admin dashboard
- Go to Plugins->Add New Plugin
- Enter Payment Button for PayPal naa986 in the search box
- Once you find the plugin hit the install button
The plugin can also be downloaded from here: https://wordpress.org/plugins/wp-paypal/. For a manual installation go to Plugins > Add New Plugin > Upload Plugin and select the zip file that you downloaded.
How to Use the Plugin
Once you have installed the plugin, you need to configure some settings by navigating to WP PayPal -> Settings.
Product
To create a buy button you need to create a product first (WP PayPal > Products). You can then add a shortcode block from your WordPress post/page editor and insert the following shortcode into it.
[wp_paypal_product id="1"]
Replace 1 with the actual product ID.
Publish/update the page and you will see the button on the front end.

Clicking this button will take you to the checkout page where payment options will appear.
Checkout
In order for the payment options to appear, your checkout page needs to contain the following shortcode.
[wp_paypal_checkout]
This will show the eligible payment methods the at checkout.

Manage PayPal Orders
When you receive a new order it will appear in the Orders menu.

Add-ons
WP PayPal/Payment Button for PayPal plugin comes with various add-ons that you can use to enhance its functionality on your website.
Custom Input
Custom Input add-on shows a text box with your buy now button. This lets you collect custom data from buyers.
Variable Price
Variable Price add-on shows a price input field with your buy now button. This lets buyers set the amount they wish to pay.
Contact Form 7 Integration
Contact Form 7 Integration add-on can show a pre-configured buy now button after a form submission. This allows buyers to make payments after a Contact Form 7 type form is submitted.
Mailchimp Integration
Mailchimp Integration add-on can automatically add the buyer’s email address to your chosen Mailchimp audience/list after a WP PayPal payment.
Order Export
Order Export add-on can be used to export order data to a CSV file.
Get All WP PayPal Add-ons
* Custom Input
* Variable Price
* Mailchimp Integration
* Contact Form 7 Integration
* Order Export
License: Unlimited Websites
Note:
* Do not purchase before setting up the core plugin first. The add-on is not at fault if the core plugin does not work on your website.
* Do not purchase if you are not sure about a feature, contact us instead.
* Do not purchase to ask for more features or make the product work in a certain way.
Is there a way to add a custom field? I am using the donation aspect of the plugin (it is wonderful) and people would like to specify who or what they are donating for – It’s different than the PayPal name. Is this possible? Thank you in advance!
Will the plugin send POST parameters back to the ‘return’ url so I can programmatically match the PayPal payment/transaction ID with the order?
Thanks!
@Randy, There might be some post parameters that you can use on the return URL.
button_image and _target doesn’t work and nobody cares. Useless plugin, went to another.
@Roman, which shortcode are you using? please provide a link to the page with the shortcode so I can take a look.
Fixed. I was debugged your plugin and found
filter_var($atts[‘button_image’], FILTER_VALIDATE_URL)
But you didn’t specify in documentation that url to the image should be absolute. I changed my url to full and now it works. Please update your docs.
All the rest – is great. Good plugin, thanks.
Sorry for misunderstanding 🙂 I changed my review on WP.org too. Please delete this comment.
All the best!
button_image is still not working.
[wp_paypal button="buynow" name="Facial" amount="75.00" button_image="http://melbournesalonspa.com/wp-content/uploads/2018/10/Screen-Shot-2018-10-01-at-6.48.03-PM.png"]what am I doing wrong?
@Sarah, I have edited the shortcode that you posted. Please copy and paste it as plain text and see how it goes.
Great plugin!
Is there away to send the transaction id to the “return” URLs?
@Nick, This is fully controlled by PayPal. You will need to do a test transaction to see exactly which parameters are sent to the return URL.
Once I properly configured my PayPal account I started getting query parameters on the return url. Including the transaction id.
Here’s how I did it:
# PayPal Business Account > Profile and settings > My selling tools > Website preferences
# Auto Return: on
# Return URL:
# Payment Data Transfer: on
How do i create a button and then get it on my wordpress site
@Tre, Create a post/page (or edit one) and insert the shortcode to create a button.
I am using this plugin .Everything is going fine.but my order table and my log file is not updated when new order occured.
@harman, Do you have the debug option enabled in the WP PayPal settings? If not please enable debug and do a test transaction afterwards so I can check it.
It is already enabled .And why my Order table is not updated with new transactions?
@harman, Do you see any content in the log file?
Nope
@harman, That means the plugin didn’t even receive any notification from PayPal. Do you have IPN (instant payment notification) enabled in your PayPal account?
Is there a way to limit the number of items purchased? If you only have 5 of the same items and want to sell one at a time to five different people and then it won’t operate?
Works great otherwise
How do you get the Plugin to display a PayPal Credit button (as advertised on the plugin description?)
Is there a way to have the user specify the price?
@Matthew, It’s possible if you use a donation button.
I don’t see a refund feature for the administrator. Is there one?
Thanks!
Randy
@Randy, This is something you will have to do from your PayPal account.
how can i set button in center align plz suggest me
My levels are the same amount.
How can I put the levels in a dropdown menu and just have one “add to cart” button?
I’m using ‘button_image=”http://example.com/images/buy.png” with no problem. Good so far!
Is it possible to use code (css) so by image button will respond to ‘hover’?
How do you set a max quantity for items?
@Morganne, is it for an Add to Cart button?
This is a Buy Now button with the following code used
[wp_paypal button="buynow" name="Tickets" amount="175.00" undefined_quantity="1" ]I would like to set a max amount of tickets per sale to be 10. How do I do that? do you have a ‘maximum_quantity’ function?
It is for a Buy Now button with the following code used
[wp_paypal button="buynow" name="Tickets" amount="175.00" undefined_quantity="1"]I would like to set a maximum for each sale to be 10. How can that be done? do you have a ‘maximum_quantity = x’ or some similar function that I can use?
@Morganne, Thanks. Unfortunately, there is no PayPal parameter to support this feature at the moment.
That is unfortunate. Thank you for your response.
First time setting up payments on my website, sorry if this is a really basic question! Have uploaded your plug-in and found out how to create a button. But how do I set up Paypal account to work with it? I’ve set up a business account (presumably that’s what I need) but can’t get beyond the stage where they want you to choose Option A (work with a partner that’s already integrated with Paypal) or Option B, which is clearly not what I want. Can’t find the answer via Paypal, so wondered if you could tell me what I need to do? Thanks.
@Katie, PayPal may have introduced this option to make things easier for new users. What is option B? Do they show these options when you log into your account?
Thanks for getting back to me. The Paypal set-up kept taking me back to Option A or Option B (using Paypal’s own html codes). I have eventually sorted it out with Paypal – actually I don’t need to select either of their options as I’m using your plug-in, but nowhere is this evident on their website. I have now got your plug-in up and running, pretty easily considering this is new stuff to me.
@Katie, Glad to hear that it’s working for you now. If you like the plugin don’t forget to give it a rating here.
Will certainly do that once I’m sure I’ve got everything working properly, just testing the system at the moment.
Hi Katie,
I have exactly the same problem. What did you do to solve it?
I have a business account on PayPal. On my website, I disabled Woocommerce, and I simply put the PayPal button using the code above for Subscritions. When I click the button as a user, PayPal signs me in to my personal user account but then it sends me to a page saying: “It seems that this service is not working. Try again later.”
Thanks,
Anna
@Anna, Please provide the exact shortcode that you are using so I can test it on my site.
How can I use page style?
@Dave, There was a “page_style” parameter to specify the custom payment page style for checkout pages. It was deprecated on September, 2016. Deprecated variables are ignored when you pass them to PayPal.
Can I add a message/instruction box with button?
@Dave, This parameter has also been deprecated by PayPal.
Hello
How about the variable image_url so I add a custom logo to my PayPal checkout flow?
Thanks
Dave
@Dave, I haven’t tested this parameter. Feel free to try and see how it goes.