WordPress Easy Paypal Payment or Donation Accept Plugin

WordPress IconWordPress 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).

Download Paypal Donation Plugin

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.

App Category
WordPress Plugin
Software Name
WP Easy Paypal Payment
Date Modified
Operating System
WordPress 4.4
WordPress 3.0 or higher
USD $0
Accept payment via PayPal for a service or product from your WordPress site
Landing Page
File Format


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

wordpress paypal payment widget

Payment for a service

The Plugin can be configured to accept payment for a service or a product in one click.

Donation Payment

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

Donation in Pound Sterling Example

Donation in Pound Sterling Example

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

Donation with Other Amount

Donation with Other Amount



Accept Any Payment Amount

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.


WordPress PayPal Payment Plugin Usage

There are three ways you can use this plugin:

1. Add the following shortcode to a post or page.


2. Call the function from a template file:
3. Use the ‘WP Paypal Payment’ Widget from the Widgets menu.

Usage Video Tutorial

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

  • email
  • currency
  • options
  • return
  • reference
  • other_amount
  • 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"]

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"]

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"]

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

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 proucts 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 checkout our WP eStore plugin.

Comments (415 responses)

  1. admin says:

    @Sarah, Use the shortcode specified in the “Payment Widget to Accept Any Amount” section. That shortcode will give you the option you are looking for.

  2. Sarah says:

    Hello – The last plugin screenshot on this page shows just an amount box (without the options dropdown). What is the shortcode to hide the options box completely? I want users to be able to only enter their own amount. I like how that screenshot says Amount instead of Other Amount. Also, is there a way to add multiple reference fields? Thank you.

  3. admin says:

    @Rembert, Are you familiar with PayPal’s PDT feature by any chance? You can enable that in your PayPal account and all the data will be sent to the “Thank You” page also.

  4. Rembert Oldenboom says:

    Nice plugin, code looks well-written. I have a request though: I’d like to control the rm-variable to PayPal as I’d like to have a POST return request to my website including all payment details. I tested this already by adding the rm variable with value ‘2’ to the plugin code manually and tested it. It does work as expected. So, can you please add the rm-value setting to top eoptions page? Maybe this would better fit an advanced options section.

  5. admin says:

    @David, Not at the moment. You could try our eStore plugin which will work with the affiliate plugin so you can share your donation (The eStore plugin has feature to accept donation also).

  6. David says:

    Hi all community,

    Can you tell me if this plugin is compatible with the plugin WP affiliate platform ?

    I wish can divise the donation with the affiliate.

    Thanks you very much :)

    (wordress easy paypal payment or donation accept)

  7. admin says:

    @Vik, yeah just use the shortcode to insert separate buttons.

  8. Vik says:

    Thanks – a really easy to use plugin.
    Is there any way of inserting a separate button for each service instead of having the drop down box for options?

  9. admin says:

    @Kevin, Yes you can accept credit card also. You just have to have a premium or business PayPal account because PayPal doesn’t allow you to accept card for personal account.

  10. kevin says:

    Is there an option for a user to make a payment without creating/logging into a paypal account? I’ve seen this option with other sites that pay with paypal

  11. admin says:

    @Gordon, yes you can do that by using the URL value in the “return” parameter in the shortcode. Or specify the page URL in the settings (if you are using that option).

  12. Gordon says:

    Is it possible to designate a specific page that a user is redirected to, once the payment process is complete? I want to use this plugin to charge for private coaching sessions, and I use an online scheduling tool for booking appointments.

    I’d like to have have my customer taken directly to the scheduling tool after payment.

  13. admin says:

    @Sylvia, Yes you can use both. You can create as many payment widgets as you want to using the shortcode. See the usage section above to learn more.

  14. sylvia says:

    My client is a charity and they sell different items as a fundraisers, but also collect donations. Can I use both Donate AND Pay Now options or is it either/or?

  15. admin says:

    @Michael, You can specify the PayPal account in the settings area of this plugin. If you are using the shortcodes (see the usage documentation above) then you can specify the PayPal email address (where the donation will go to) in the shortcode.

  16. Michaelmb says:

    Nice plugin!
    Easy to use and fast. But I have just one cuestion, how to introduce the paypal account where the donation is going charged? I just opened an account for the donations but don’t know how set for send the donations directly to the donations account.

    Kind Regards.


  17. admin says:

    @James, The reference box should help you collect the name if you want to. You can customize that reference box to collect whatever you want.

  18. JamesP says:

    Awesome plugin!
    I was able to add couple of boxes more for payments, GREAT!
    but is there any way to include a NAME? (with last name of course)
    I have a service for kids and i want to know when parents are paying (kids name will be inserted in a “name” box.
    keep up the good work!

  19. admin says:

    @Kathryn, I have added an option in the new version to disable the payment reference box.

  20. Kathryn says:

    This is a great plugin and fits the needs of my non-profit client perfectly.

    Is there a parameter to add to the shortcode to turn OFF the reference box? I tried using { reference=false } and it just keeps the box and titles it “false”.

  21. admin says:

    This plugin doesn’t send you to PayPal sandbox. Are you sure you are using this plugin or are you using our simple PayPal shopping cart?

  22. Nancy says:

    Why does my PayPal process point to a PayPal Sandbox? I can’t figure out how to make it go live! Many thanks.

  23. admin says:

    @Jon, is this signup form going to come from a different plugin?

  24. Jon says:

    Is there a way to add the payment at the end of a sign up form so the user fills out the details of the service they are requesting and the payment plan? Or do you need to have a page for form entry and a page for payment?

  25. Dee says:

    Thanks! After looking again at how I changed things, I don’t think additional selectors are needed. What I did was delete all breaks in the “Paypal form” code, then added the following CSS. This way I have control over spacing:
    #accept_paypal_payment_form input, #accept_paypal_payment_form select, #accept_paypal_payment_form textarea {
    margin-bottom: 1rem !important;
    padding: .2rem !important;

  26. admin says:

    @Dee, Yeah sure. Please suggest the changes you want to make and I will try to incorporate it into the plugin.

  27. Dee says:

    Excellent plugin! For those of us who need more control over design elements, would it be possible to add additional css selectors in place of breaks so users can style line spacing without having to go into code to delete breaks?

  28. Marius says:

    First of all, thank you very much for offering us this great plugin. I have a suggestion, that might be useful: it would be fantastic being able to insert the currency symbol somewhere near the price numbers when using the wp_paypal_payment_box. Anyway, it is a great plugin and contribution to the WordPress community. Thank you again.

  29. admin says:

    @Lincoln, Don’t have an option to make it a mandatory field yet.

  30. Lincoln says:

    Is there a way to make the “reference text box” a required/mandatory field prior to continuing to Paypal? By the way my 6 year old is obsessed with your videos and re-plays it for hours at a time. LoL
    Thank you for any info on this.

  31. admin says:

    @DJ, Yes it is compatible with WP 3.8. All our plugins are kept upto date to work with the latest WordPress version.

  32. DJ Johnson says:

    Plugin perfectly suited my needs…thanks! Is it compatible with WordPress 3.8? If not, will it be updated?

  33. admin says:

    @Chore, you can accept mexican peso too. See the shortcode examples above, there is one that shows you how to specify the currency code.

  34. Chore says:

    Admin and what about accepting MXN currency (Mexican pesos)?
    I see that in your others plugins you activate it. Thanks :)

  35. admin says:

    @Calvi, SGD (Signapore Dollar) is already supported. You can use the shortcode with that currency to accept payment in singapore dollar. See the shortcode usage example above to learn more.

  36. Calvin says:

    Hi, is there a way to add more currency to it? I need SGD currency payment form. Thanks!

  37. admin says:
  38. Shenry says:

    Very nice plugin. Can it accept subscriptions or recurring payments?

  39. admin says:

    @rizve, You can add as many service boxes as you want. Please read the shortcode usage section and you know how to do it.

  40. rizve says:


    thanks for nice plugins. I wants to add more service box how I can do that? I saw that there is only 6 Payment Option but i wants to add more. is there any possibility to add more? Please help me. I really appreciate.


  41. admin says:

    @Adrienne, That looks like a CSS conflict. Grab the following plugin for applying css tweaks:

    Then add the following CSS code in there:

    .wp_accept_pp_button_form input{
    width: auto !important;

  42. Adrienne Bennett says:

    Great plugin – Quick question – Is there anyway to make the Pay Now button larger? Everything about button is working great on my end, except the pay now button displays VERY small to the point where it is not legible. Please let me know if there is a way to alter the button size.

  43. admin says:

    @Kimberley, what shrotcode are you using to create the payment button widget?

  44. Kimberley says:

    When I have options in the drop down menu, the custom box doesn’t work – it is just taking a value from the drop down menu and ignoring the custom field.

  45. admin says:

    @Ramona, This plugin can’t protect content but we already have one that does everything to do with content protection. Here is a link to it:

  46. Ramona says:

    Is it possible with this nice pugin to protect content in order to give access via PayPal Payment? If not: Maybe you like to develope it further and sell a new plugin?

  47. admin says:
  48. robin says:

    Is there a way to use this plug in with just pay pal and no other payment options besides donate?

  49. admin says:

    @zsuzsi, This plugin won’t be able to handle the “pay-what-you-can” price model and then deliver the ebook automatically. WP eStore plugin will do the job.

  50. admin says:

    @Terry, We actually have two other plugins to accept PayPal donation. You can use them in conjunction with this plugin to accept donations:

    PayPal donation plugin 1: http://www.tipsandtricks-hq.com/wordpress-paypal-donation-plugin-942

    PayPal donation plugin 2: http://www.tipsandtricks-hq.com/wp-donations-plugin-create-a-donation-widget-with-donation-goal-5094

Speak Your Mind