Payment Button for PayPal (also known as WP 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.
Payment Button for 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.
Note: This is NOT an official PayPal product.
Features
- 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 Payment Button for PayPal in WordPress
- Login to your WordPress admin dashboard
- Go to Plugins->Add New
- Enter Payment Button 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 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 Payment Button for PayPal in WordPress
Here is a video that shows how you you can set up PayPal in WordPress with the Payment Button for PayPal plugin.
Once you have installed the plugin you will be able to access the settings by navigating to “WP PayPal -> Settings”.

General Settings
In the general settings area, you will need to configure some options related to your PayPal merchant account.

Click on the “Save Changes” button when you are done.
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 WP PayPal plugin when sending an email. You can leave them empty to use the default.

Purchase Receipt Email
WP 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.

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
WP 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.

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,
{first_name} – The customer’s first name.
{last_name} – The customer’s last name.
{txn_id} – The unique transaction ID for this purchase.
{item_names} – The name(s) of the product purchased.
{mc_currency} – The currency code used to make the payment.
{mc_gross} – The full amount of the customer’s payment.
{payer_email} – The customer’s email address.
{custom} – A pass-through custom variable for your own tracking purposes.
How to Create a PayPal Button
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"]
Donation
[wp_paypal button="donate" name="My product"]
Subscription
[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

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
“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
“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
“tax” parameter can be added to the shortcode to specify a flat tax amount for an item. For example:
[wp_paypal button="buynow" name="My product" amount="4.99" tax="2.15"]
Tax Rate
“tax_rate” parameter can be added to the shortcode to specify a tax rate for an item. For example:
[wp_paypal button="buynow" name="My product" amount="4.99" tax_rate="2.9"]
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"]
Currency
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/View 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"]
Change a PayPal Button Dynamically
If you have a page containing a single PayPal button, you can dynamically change the product name and price of the button with query strings in the URL.
https://example.com/button/?wppp_name=product&wppp_amount=2.99
To represent a space you can use “%20”.
https://example.com/button/?wppp_name=My%20Product&wppp_amount=2.99
This can be useful when you have a separate checkout page with one button and users from other pages of your site are sent to this page to make payments for different products. If you have a form that sends users to different product pages based on the selection, you can just send them to one page by changing the parameters.
This feature is only available for Buy Now type buttons.
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

Priority Support
If you are having an issue with the plugin, our support team can help investigate it by taking a closer look at your site.
Payment Button for PayPal Extensions
Payment Button for PayPal plugin comes with various extensions that you can use to enhance its functionality on your website.
Custom Buy Now Amount
With this extension, your buyers will be able to purchase an item with a custom price.

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=""]
Buy Now Discount
Buy Now Discount extension lets you offer various automatic discount options with your Payment Button for PayPal Buy Now buttons.
Custom Input
Custom Input extension shows a text box with your Payment Button for PayPal buttons. The text box can be used to collect custom data from buyers at checkout. This is really useful if a buyer would like to include a custom note or special instructions.
Product Variations
Product variations extension can be used to set up variations for your PayPal buttons.
Variable Quantity
Variable Quantity extension lets buyers enter a quantity for your PayPal Buy Now buttons.
Variable Subscription
Variable Subscription extension lets buyers set the amount they will pay for your PayPal Subscribe buttons. It can also be used for accepting recurring donation payments.
Mailchimp Integration
Mailchimp Integration extension can automatically add the buyer’s email address to your chosen Mailchimp audience/list after a PayPal payment.
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.
Dani says
Hey i want to add a button for Subscription for one month in 20$ and this is my code
[wp_paypal button="subscribe" name="My product" a3="20" p3="1" t3="M" src="1" srt="1"]
and that not working
Noor Alam says
@Dani, Please provide a link to the page in question so I can check it.
Dani says
This is the website URL
https://student190.atuda.co/wordpress/index.php/36-2/
Noor Alam says
@Dani, srt is the number of times the subscription payments will recur. It support a minimum value of 2 and a maximum value of 52. If you want the subscription payments to recur indefinitely or until cancelled, you do not need to specify it in the shortcode.
Dani says
What if i want to do just one month?
Noor Alam says
@Dani, That’s not possible as the minimum value needs to be 2. You can probably achieve something similar using a trial (a1) and making the recurring part a one-time payment (src=”0″).
Juniper Paul says
Noor, I have set CAD as my currency in the WP PayPal settings (Currency Code: CAD) and the shortcode (currency=”CAD” ) as well as in my PayPal business account, yet when I click the buynow button the initial PayPal screen summarizing the purchase displays USD. The purchase is processed in CAD, but the appearance of “USD” in the initial screen is obviously going to disturb my customers.
My shortcode (redacted for privacy) reads:
[wp_paypal button="buynow" name="xxxxx - 1 packet — 224g" currency="CAD" amount="13.99" shipping="15.00" shipping2="4.00" tax="1.68" handling="0.00" return="https://xxxxx.com/buy/thank-you/" cancel_return="https://xxxxx.com/buy/order-cancelled/" no_shipping="2" shopping_url="https://xxxxx.com/buy/" undefined_quantity="1"]
Noor Alam says
@Juniper, You do not need to specify the currency in the shortcode if it’s the same one specified in the plugin settings.
Have you contacted PayPal regarding this currency display issue?
Juniper Paul says
Your buynow shortcode allows us to specify a tax amount and an unspecified quantity (undefined_quantity=”1″), however in the PayPal checkout process changing the quantity does not multiply the tax.
Wouldn’t a better way be to specify a tax percentage that PayPal would apply to the total product cost, or enable PayPal to perform the correct tax arithmetic?
Noor Alam says
@Juniper, Tax Rate is already supported. I have updated the documentation for it.
David says
How can I set the Return to Shopping to redirect to my products page instead of the Home page on the site?
Noor Alam says
@David, Are you referring to the link that is shown after the payment is completed?
ken Leidner says
I have a “form” that the customer files out that can select different products. Currently I have to have the form transfer to a different page, with different PayPal buttons, because the product and price have to be “hard-coded” in the button. Is there a way to pass these two fields to the page that has the PayPal button’s short-code as a parameter. Saving me many web pages? Something like …
[wp_paypal button="buynow" name=&parm1 amount=&parm2 return="https://xxxxx.com/buy/thank-you/" cancel_return="https://xxxxx.com/buy/order-cancelled/" shopping_url="https://xxxxx.com/buy/" ]
Noor Alam says
@ken, Those parameters are just for customizing the button via the shortcode. They don’t read data sent to the page.
Does your form support query strings in the URL? For example:
https://yoursite.com/button/?wppp_name=product&wppp_amount=2.99
. If yes, I may be able to add this functionality to the plugin.Ken Leidner says
When I transfer from the form page to the button page I have 100% control, so yes I can generate
https://yoursite.com/button/?wppp_name=product&wppp_amount=2.99
that.If you can add that to the plugin, I can delete MANY pages. Right now based on the different product and prices, I select a different Page to transfer to, each with the product and price in the button. So I would welcome such an option.
Noor Alam says
@Ken, I have just released an update to support this feature.
Ken Leidner says
Tried it and it works. Even overrode the product name and price that was “hard-coded” in the button. Should these two fields be removed from the button?
Also a BIG Thank You!!!!!!!!
Noor Alam says
@Ken, It’s up to you if you want to remove them. Without a price the button should show an error when viewed directly.
RO says
Great plug in— super easy to use, but I’m finding that even though the purchase has been submitted via PayPal and my orders are complete, it’s not actually being being transferred into my account. Could the payment be in limbo somewhere? Is there a way for my to track the payment with the various IDs provided in the Payment Data?
Noor Alam says
@RO, Do you have the debug option enabled in the plugin settings?
RO says
I have now—lets see if that does something. Thank you!
Inese says
Hi, it’s visible how to create the button, just as a button, but how do you really create a product with these buttons? Do you first add an image with the corresponding name or what? How does the button relate to the product?
I need to sell many paintings, like very many. So I cannot understand how I will create not buttons but the actual products. Where do you place the name of product? Only in shortcode?
Button creation seems to be explained here, but I absolutely do not understand how I create many products with the appropriate button. The product creation seems a problem. Is this Buy now button meant to sell only a few products? Basically, it’s unclear how I tie the button to the product. I am unsure about the sequence. Can I place these buttons on any pages? Basically, I like the idea, but I’m not sure how I create numerous shortcodes and how they will relate to the exact product. Thanks, Inese
Noor Alam says
@Inese, you don’t really create any product in the plugin. You enter those information directly in the shortcode and it is submitted to PayPal.