WordPress Easy Paypal Payment or Donation Accept Plugin is an easy to use WordPress plugin to Accept Paypal payment for a service or a product or Donation in one click. It can be used anywhere on your site (sidebar, posts, pages etc).
Also, check out our PayPal Express Checkout plugin that you can use to accept PayPal payment via a payment popup window. The customer can pay using a credit card or PayPal without leaving your site.
After receiving numerous requests, I have added multiple currency support and a donate button option to this WordPress plugin. See the change log section below.
WordPress admins can also configure this plugin with a ‘Donate’ button to receive donations through PayPal.
Background
A while back I was looking for a WordPress plugin to use on one of my sites to accept payment for a simple service without the Customers having to log in to my site or become a member and stuff like that. I couldn’t find a simple enough WordPress plugin that does the job so I wrote one myself. One of my friends used it and suggested that I should make this plugin available for others to use. So I tidied up some code and decided to release it.
Plugin Screenshots
The Plugin can be configured to accept payment for a service or a product in one click.

The Plugin can also be configured to accept donation too. See the screenshots for example.

You can also configure it to accept a donation amount entered by the user.


This plugin does not give you a shopping cart or e-commerce functionality. Check out the WordPress Simple Paypal Shopping Cart plugin, If you are looking for an e-commerce plugin for your WordPress site.
WordPress PayPal Payment Plugin Installation
1. Unzip and Upload the folder ‘WP-accept-paypal-payment’ to the ‘/wp-content/plugins/’ directory.
2. Activate the plugin through the ‘Plugins’ menu in WordPress.
3. Go to Settings and configure the options eg. your email, Subject text etc.
4. Add the following trigger text/shortcode to a post or page where u want it to appear. see the Usage section for more details.
[wp_paypal_payment]
WordPress PayPal Payment Plugin Usage
There are three ways you can use this plugin:
1. Add the following shortcode to a post or page.
[wp_paypal_payment]
2. Call the function from a template file:
3. Use the ‘WP Paypal Payment’ Widget from the Widgets menu.
Usage Video Tutorial
The following video shows how to create payment widgets using the values set in the plugin’s settings configuration:
The following video shows how to create payment widgets using shortcode parameters (you specify all the values in the shortcode):
Usage with Shortcode to Create PayPal Payment Widget
This plugin comes with a couple of very powerful shortcodes to create a PayPal payment button. The following section has usage examples so you can see how to use these shortcodes.
You can use the following shortcode to create a PayPal payment button on the fly and show it anywhere on your site:
[wp_paypal_payment_box email="your@paypal-email" options="T-Shirt Payment:15.50|Ticket Payment:30.00|Membership Payment:47.95"]
Note: You will need to replace the example values in the shortcode parameter with actual value for your site.
Shortcode Parameters
Optionally, you can add some more parameters in the above mentioned shortcode to customize the currency code, reference title, return page URL, tax etc. Below is a list of the supported parameters in the payment button shortcode
- currency
- options
- return
- reference
- reference_placeholder
- other_amount
- other_amount_label
- other_amount_placeholder
- country_code
- payment_subject
- button_image
- button_text
- cancel_url
- new_window
- tax
Here is an example shotcode usage with some extra parameters to give you an idea of how to use it:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service One:15.50|Payment for Service Two:30.00|Payment for Service Three:47.00" currency="USD" reference ="Your Email Address" return="the-return-url-page"]
Create Payment Widgets in Different Currencies
You can specify a currency code using the “currency” parameter in the shortcode. This allows you to create multiple different payment widgets to accept payment in different currencies (if you want to).
The following example shortcode shows how you can specify a currency code in there:
[wp_paypal_payment_box email="your@paypal-email" options="Test Service:25.00|Test Service Two:50.00|Test Service Three:65.00" currency="USD"]
Allow Your Users to Specify an Amount
You can use the “other_amount” parameter in the shortcode to allow your customer to specify an account (name your price). Here is an example usage:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service One:15.50|Payment for Service Two:30.00|Payment for Service Three:47.00" other_amount=true]
This shortcode can be used anywhere on your site and as many times as you want with different values to accept payment for another product or service.
Use a Custom Button Image
You can use the “button_image” parameter in the shortcode to specify a custom button image for the payment button. Here is an example usage:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" button_image="http://example.com/my-custom-button.jpg"]
Specify a Country Code for Language
Use the “country_code” parameter in the shortcode to specify a country code. Here is an example usage:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" country_code="US"]
Specify a Cancel URL
Use the “cancel_url” parameter in the shortcode to specify a cancel URL in the widget
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" cancel_url="example.com/cancel-url"]
Open Payment Page in a New Window
Use the “new_window” parameter in the shortcode to open the payment page in a new window. Here is an example shortcode usage with the new_window parameter:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" new_window="1"]
It will open the paypal payment page in a new window when the user clicks the buy now button.
Collect Tax For the Payment
You can use the “tax” parameter to specify a tax amount for the payment.
Hiding the Reference Field From the Payment Widget
Use the parameter reference=”” in the shortcode will hide/disable that field.
Using a Text Based Payment Button
If you want to use a text based payment button (instead of an image) then use the “button_text” parameter in the shortcode.
Here is an example shortcode that will create a payment button widget with “Pay Now” as the button text:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" button_text="Pay Now"]
Using a Placeholder for the Reference Field
Use the “reference_placeholder” parameter in the shortcode to specify a placeholder for the reference text field. Example below:
[wp_paypal_payment_box email="your@paypal-email" options="Payment for Service 1:15.50|Payment for Service 2:30.00|Payment for Service 3:47.00" reference="Payment Reference" reference_placeholder="Enter a payment reference"]
Payment Widget to Accept Any Amount
You can use the following shortcode to create a payment widget that your users can use to send you any amount of money.
[wp_paypal_payment_box_for_any_amount email="your@paypal-email" description="payment for xyz"]
You can use the following shortcode to create a payment widget for any amount with a specified currency.
[wp_paypal_payment_box_for_any_amount email="your@paypal-email" description="payment for xyz" currency="USD"]
You can use the following shortcode to create a payment widget for any amount with a custom label for the amount field.
[wp_paypal_payment_box_for_any_amount email="your@paypal-email" description="payment for xyz" other_amount_label="Your Price:"]
Adding a Payment Widget to the Sidebar
Check this tutorial to learn how to add a payment widget to the sidebar.
Download Latest Version
Download the Plugin.
Change Log
Verion 4.9
Added a Cancel URL field in the settings
Updated the settings menu header to use h2 tag.
Fixed an issue with using quotation marks in Payment Subject.
Version 4.7 and 4.8
Added a new shortcode parameter (other_amount_label) to allow customization of the “Other Amount” text/label in the payment form.
Added a new class name (buy_now_button_image) to the custom button image (so users can target that button image for customization via CSS).
Added a new parameter (default_amount) in the other amount shortcode so you can specify a default amount that will be used to pre-fill the amount field.
Version 4.2 and 4.3
Cleaned up the settings area a bit and made the options more user-friendly.
Fixed a small issue using the other amount option with the shortcode.
Version 4.1
The currency code will now be shown after the “Other Amount” field.
Added the option to create text based payment button. Use parameter “button_text” in the shortcode to use it.
Version 4.0
Added an option to specify “tax” parameter in the payment shortcode.
Version 3.9
Added an option to exclude the “reference” field from the payment widget
Version 3.7
Added more parameters in the “wp_paypal_payment_box_for_any_amount” shortcode. New parameters are “reference” and “currency”.
version 3.6
Added a new shortcode to create a payment widget to accept any payment amount
Version 3.4
Added an option to specify a custom button image for the payment widget.
Version 3.3
Added an option in the shortcode to specify a payment subject. This can be handy if you have multiple payment widgets on your site.
WordPress 3.7 compatibility
Fixed some deprecated calls
Version 3.2
Added an option in the shortcode to specify a country code for paypal checkout page language
Version 3.1
Added an option to specify a different amount (any amount your user whish to pay) via the shortcode.
Version 3.0
WordPress 3.6 compatibility
Version 2.9
Fixed a minor bug with the PayPal buy button shortcode
Version 2.8
Added a custom shortcode option where all the parameters can be specified in the shortcode. this will allow you to create multiple paypal payment widget in various places of your site.
Version 2.7
Added a new shortcode to place the payment accept form
Version 2.4
Fixed an issue whereby the decimal numbers were getting stripped from the paypal payment amount.
Version 2.3
Added the optional “Other Amount” donation capability
Added a “Return URL from PayPal” field.
Made the Reference Text customizable and optional.
Some widget display tweaks.
Version 2.2.1
Removed the link to settings option from the widget panel.
Version 2.2
Added multiple currency support.
- USD US Dollar
- GBP Pound Sterling
- EUR Euro
- AUD Australian Dollar
- CAD Canadian Dollar
- NZD New Zealand Dollar
- HKD Hong Kong Dollar
Added Multiple Button Types.
- Pay Now button
- Donate button
Version 2.1
Added Widget Support.
Added more payment options (up to six).
Fixed up some minor ‘html’ bugs.
Additional Documentation
How to collect the Shipping Address from the customer
You don’t really need to collect shipping address from the customers manually as they can specify a shipping address when paying on PayPal. So this is how it works:
- A customer clicks on the Pay Now/Buy Now button and goes to paypal to pay for the product or service.
- The customer fills in the credit card details or logs into his/her paypal account and reviews the order
- Now before hitting the “Pay Now” button the customer can specify a shipping address by clicking on “Change Shipping” that is shown below the default shipping address.
- After payment, PayPal will send you a payment confirmation email which will have this postal address so you can ship the item.
If you need help wth this plugin (such as additional currency support etc) or if you find an issue with the plugin then leave a comment.
Don’t forget to check out the WordPress Simple Paypal Shopping Cart plugin which also allows you to sell products and services site-wide and has shopping cart functionality or the WordPress Donation Plugin which allows you to receive a simple donation.
If you are looking for a professionally supported, feature rich and robust way to sell products or services then check out our WP eStore plugin.
Installed the plugin and activated it, but there is no “settings” for me to set it up. I’m using WP 3.0
Hi Faizal, nope… you are gonna need a membership type plugin to do what you are after.
Hi..Rahul…I want to clear about this…I would like have an easy paypal payment for
Create pay-per-view post text. Hide text and links on post behind ‘Buy Now’ buttons.
Does this plugin can do it?
Thank You
Hi, You can only have 6 payment variations with this plugin.
Is it possible to have more than 6 payment options
thanks it now works like a charm, I used paypal donation as a sidbar widget, paypal shoping cart for sponsorships, and easy paypal payment for memberships. I am also now using W3 Cache. Coffee on the way!
Hi Neil, your best option I think would be to use the simple paypal shopping cart. It will allow you to put various payment buttons for different sponsorship:
https://www.tipsandtricks-hq.com/?p=768
Hi Ivy,
We have a membership/donation page where I use wp easy paypal to choose from from variety of membership options (individual, business, etc.) or make a donation for an amount they can write in. We also have “sponsorship” page where I was hoping to use easy paypal with a different set options than under mebership (using instead bronze, silver, gold, etc.). The pull down is limited to six options and I have already met that with the membership entries so I cannot just create a large pull down with all the options. Also there is the issue of the payment subject under the settings it gets kind of wordy to say GUFC Membership/Donation/Sponsorship, it would be nice if I could parse it out into individual plugin settings. I think my work around will be to change wording over the custom amount to “Donation/Sponsorship” and place the plug in on both the membership page and sponsorship page. If you can think of something simpler it would be much appreciated. Thanks for your consideration. To view go to our website http://www.gufc.org and choose join/renew under membership. Neil
Hi Neil, No you can not have two installs of the plugin on one site. Can you tell me what settings you would need to have different as there maybe a different way to do this?
Cheers,
Ivy
Hi,
I want to install wp easy paypal payment in another portion of my word press website that would be have different settings (e.g. amounts, names, etc.), is it possible to install it twice with different names so that I could have different settings in the two different areas?
thx nice info
Nope, you probably should use a shopping cart (e.g. https://www.tipsandtricks-hq.com/?p=768) if you want to take different payments on different pages.
Hello,
I would like to add a second page on my site with a different configuration. Is that possible?
This is what PayPal would accept for that field:
If the option field is a dropdown menu or a set of radio buttons, each allowable value should be no more than 64 characters. If buyers enter this value in a text field, there is a 200-character limit.
ok, one more quick question. Is there a reason that you included a maxlength=”60″ in the reference text box? I was thinking about increasing that character limit, but thought maybe this is some limitation on PayPal’s side. I’m also thinking about changing it from an input type=”text” to a textarea field, to allow for multiple lines and carriage returns when entering a longer description, but I will lose the ability to easily limit the number of characters the user can enter in the reference field. Any thoughts?
Thanks, that did the trick! I figured there had to be a simple way to change it, but I have zero familiarity with PayPal’s API, which is why I use your plugin. It works exactly the same now, except the transaction is handled as a donation, which is exactly what I was looking for. Thanks again for the quick response, and for maintaining and supporting your plugin.
Yep, I understand your needs. This plugin can be used to accept normal payments too which is why it uses the normal payment option and not the donation option. If you used this plugin which was designed just for donations you won’t have this issue:
https://www.tipsandtricks-hq.com/wordpress-easy-paypal-payment-or-donation-accept-plugin-120
With that said, you can modify this plugin to make every payment be a donation. This is what you have to do:
1) Open the “WP_Accept_Paypal_Payment.php” file and search for the following:
<input type=”hidden” name=”cmd” value=”_xclick” />
2) Once you find it then replace that with the following:
<input type=”hidden” name=”cmd” value=”_donations” />
Save and upload the file and it should take care of it.
Great plugin, thanks for your hard work! My question is, I run the website for my church, and we have gone through the process of verifying with PayPal that we are a non-profit organization, which means they won’t take as large a cut of donations we receive.
However, we someone makes a donation using this plugin, it is processed through PayPal as a payment and not a donation, and thus, PayPal’s fee is larger than if it were a donation. Is there anyway to have the plugin process the payment as a donation? I’m sure I’m just missing something here. Thanks!
Great plug in…thanks Got it to work will little problem. Still trying to figure out if I’m going to have a pay site or donate.
Thanks!
This plugin does not give the customer the option to choose currency but I am sure there are a few other plugins out there that does it.
Is there a way to make the plugin have a dropdown of currencies. So that if people from different parts of the world want to donate, they can select there currency?
Or does it do this already?
Thanks
Yep it works with WordPress 2.9
Does this work with WP 2.9?
Hi, The following post will explain this more” https://www.tipsandtricks-hq.com/ecommerce/wordpress-ecommerce-knowledgebase-523#paypal_credit_cart
If you have any questions please let me know.
Cheers,
Ivy
hi mate great plugin have it installed, is there a way where the client can input there card details straight away and pay without having to sign up to paypal?
its asking for them to make a paypal account thanks
Thank you for a great plugin. I’m very appreciate it. Cheers!
Hi Daivd, I am glad you got this working. Please let me know if you need anything else.
Cheers,
Ivy
Ah ha – found the problem. The plugin is fine, i was using the wrong part of WordPress to configure it. All works now!
New to wordpress and new to this plugin – it looks to good to be true but i simply can’t get it to work.
I’ve installed it – i appears on the site but despite altering the config. the original “gold/bronze/silver” values appear and when i click pay it goes to Paypal for the Antique HQ site.
It’s under the “Contact Us” but of the website above if that helps.
Hi Glenn, Subscriptions are only supported when using the eStore. This options is not available for the Simple Shopping Cart.
Cheers,
Ivy
First, this is great! Makes it so easy to integrate payment.
Now I will be a pain in the butt! LOL Is there a way to do a low cost trial say 4.99 for one month and then 19.99 afterwards? I can do that on paypal and create the form code there but it would be nice if a plug-in allowed that.
Hi Don, This is usually a CSS problem with in the theme. The following forum post will explain how to fix this issue.
https://www.tipsandtricks-hq.com/forum/topic/add-to-cart-button-not-display-correctly
Cheers,
Ivy
The “donate” lpg shows huge! Any control over it?
Thank you, in advance.
@Alison, Where do you want to add the image?
You should be able to put plain HTML to insert your image?
Hi Mark, please download version 2.5 from this page and it should fix the “Address issue” now it won’t force the customer to enter an address.
I’ve using the plugin as a widget in my sidebar. I really want to add an image, how can I do this?
Hi,
Thank you for this plugin. I needed the drop-down option to help with receiving donations from people for my daughter. The only thing I want is to REMOVE the requirement of having to put their shipping address. It is just a donation and I do not want to prevent people from donating who would not want to reveal their address.
Is there a way to make this OPTIONAL and in BOLD print so donators know??
Thanks,
Mark
Hi Patrice, Unfortunately we do not plan to add this feature to the Paypal donation plugin. Have you looked at the Simple Paypal Shopping Cart this plugin (https://www.tipsandtricks-hq.com/wordpress-simple-paypal-shopping-cart-plugin-768) may be what you are looking for .
Cheers,
Ivy
Hello,
It’s a great plugin
but i need to specify a quantity of products, can you add this feature to the plugin please?
Hello, I enjoy your plugins. Thank you. I am also using eStore plugin and like the functionality to show how many items have been sold of a product. Is there a way to show how many donations have been made?
Any information you want the customer to send through with the payment (e.g. website address)
So what exactly is the reference text box for?
what fields do you have in mind?
How can I get more form information fields for this plug in. nice btw…
You just have to add it to the widget from the widgets menu
How do I add this in a widget-ready template?
@Mattian, this is not possible because the plugin has no way of knowing the exact transaction fee for a purchase beforehand (the PayPal transaction fee varies depending on your PayPal account level). You can however add on a 5% extra to every product price when you input the price for an item to cover the fee.
Hi there. Thanks for this plugin, using it on a few sites.
Is it possible to get the plugin to automatically add on the paypal fee? Im using it for a nursery to collect invoice payments – but the nursery want to have the paypal fee covered by the parents when paying.
Thanks in advance.
Matt
@admin thanks for your reply. I was able to delete some code and get it to work so that the amount field and reference field was available without the dropdowns. I am using the plugin for clients to pay bills. Thanks!
@TAG, you can simply use a donation plugin if you just want to let your visitor’s specify an amount. The following plugin might help:
https://www.tipsandtricks-hq.com/wordpress-paypal-donation-plugin-942