Paypal Examples

Basic Payment Form

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
The basic form as it arrives with the plugin.
Shortcode: [qpp]

Form with an image

You can put an image top or bottom of the form

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
On the Form Settings page you can select an image from your media library and put it at the top or the bottom of the form.

Coupon Test

Payment for: A large thing

Amount: ¥200

Test using the coupon code 'charles' to get a 10% discount

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
On the form settings the coupons codes option was selected and labels edited. There is a link to a page to set the coupon codes.
ID and amount were set using shortcode:
[qpp id="A large thing" amount="¥100"]

Form with a background image

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
Background images are set on the Styling page.

Fixed Payment Form

Price per Item:


2% Post and Packing

Total: €

 I agree to the Terms and Conditions

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
The amounts were set using a shortcode:
[qpp amount="€40,€50,€60"].
The quantity, p&p (shipping), processing (handling) and T&C are all options on the form settings page.

Form with selections

Chose which one you want


Plus £5 Processing

Total: £

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
On the Form Settings page the reference is ‘red;$1,blue;$2,green;$3’ and the ‘pre-set reference’ is selected. Note the use of semicolons and commas, this removes the need for amounts. It also has shipping and handling added and the totals field.
To do this with a shortcode: [qpp id='red;$1,blue;$2,green;$3' labels='off']

Submit button image and Dropdown


Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
On the Form Settings separate the amounts with commas (100,200,300), check the ‘Pre-set amounts’ box and select the ‘dropdown’ option.
Change the submit button on the Styling page.

Buy this thing and agree to the T&C

Payment for: Green Widget

Amount: $49.99

 I agree to the Terms and Conditions

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
Form with shortcodes for ID and Amount, T&C set on the Form Settings, width is set on the Styling page

Payment for: Magazine Subscription for 24 months

Amount: £2.99

Validating payment information...
Waiting for PayPal...
Validating payment information...
Waiting for PayPal...
Form for recurring payments.

Add your comment

  1. Nicole Milley on 26 Jan 2018

    Is there a way to have a customer pay 50% of the total? I’m an artist and take pet and people portrait commissions. I like to have 50% paid to start and then I bill them the balance when the commission is completed.


    • Graham on 27 Jan 2018

      Hi Nicole,
      You can give then a coupon code for a 50% discount. That’s probably the simplest way to fix this.

  2. tony on 02 Jan 2018

    Hey… i had a payment come through and no one was sent an email notification… other than they paypal ipn… am i missing something

    • Graham on 02 Jan 2018

      Can you see the details in the payment report? If so then the emails were sent (this function actions before the report is updated). Check the settings in the ‘Send Options’ and ‘Autoresponder’ tabs to make sure you have checked to send confirmation messages.

  3. Sam Kehl on 05 Dec 2017

    Question, is it possible to have a conditional required field? For example I want my form to allow 2 options (add money to account, make donation) If the user selects option 1 (add money to account) I would then want to have the field “Account Number” be required, however if they choose Option 2, that field would not be required.

    • Graham on 05 Dec 2017

      This is possible. not necessarily easy but possible. It’s also not something I could do for free and this sort of thing needs a lot of code written. Most of the work is in the form settings – getting all the options and checkboxes to work properly isn’t going to be easy. So if you can contribute to the development I can build this for you.

  4. Dimitar on 11 Oct 2017

    Hello Graham,

    I really like the plugin, but I need help with something. How can I make a php function output a certain value to a field like Additional Information (has to be passed to PP). The idea is that I want the account IDs of people who submitted the form.


    • Graham on 11 Oct 2017

      Hi Dimitar,
      IDs are only associated with logged in users so I’m assuming you are on only using the form for registered users. WordPress has a number of functions where you can get the ID from usernames and email but the problem is sending the ID to PayPal. PayPal only has a number of permitted fields. Anything else gets rejected. So you would have to use an existing field for the ID

  5. Andre on 30 Sep 2017

    Great plugin, I have 3 questions:

    1- how can I control the width of the buttons/boxes created?
    2- recurring payments: where could I input Paypal code provided by my client?
    3- can I put two of these side by side to save space?

    See what I mean:

    Thank you!

    • Graham on 01 Oct 2017

      Hi Andre,
      1. Use the Styles tab – there are loads of settings
      2. Not sure you can. Recurring payments are built into the plugin, you shouldn’t need any external code.
      3. Wrap each form in a floating div and make them 50% width.

  6. PD on 22 Aug 2017

    Hi, I’m using the “drop down” list with pre-set amount for donations, with an option to add custom amount. I checked all the setting but when I select the option to enter the custom amount from the drop down, the text box to enter the amount is not popping up. It is working great in the example on the page above but when I try it, the box doesn’t show up. The box does show, however, for radio buttons. Is there a setting to show it for the drop down? Thanks.

    • Graham on 22 Aug 2017

      There was a bug with Dropdowns a while back but I thought I’d fixed it. I shall investigate.

    • PD on 23 Aug 2017

      Thanks for looking into it Graham. Looking forward to hearing back from you.

    • PD on 23 Sep 2017

      Hi Graham,

      I’ve a follow up question on my earlier question. I’m now using the “Reference” field to accept donations for the non-profit. There are pre-defined amounts of donation and each has a certain name/label. I’m able to achieve this using the Reference field. However, I also also want an option to enter the custom amount. Is there a way to do that so a text box pops up for entering the custom amount?
      I’m able to achieve that functionality using the Amount box but in that case I can only show the amounts in the drop-downs and not the titles for the donation level.
      Do you know if I can achieve what I want?

    • Graham on 23 Sep 2017

      This is possible but would need a lot of extra coding. It’s not a quick or easy fix

    • PD on 26 Sep 2017

      Thanks Graham for looking into it and for your quick response.
      On a separate note, the plugin is amazing and thanks for your hard work to make this available!

  7. Andy on 12 May 2017

    Great plugin!!! Thank you! Looks great – works great!

    • Graham on 13 May 2017

      Thanks Andy

  8. Malc on 26 Apr 2017

    Hi Graham. Your plugins look very good 🙂

    With the PayPal one, can you create a form for Product A and a form for Product B (Or have both on a dropdown on the same form) and then when the payment shows in PayPal have the reference appear on the PayPal statement – ie Product A £25 and Product B £15 or whatever?

    So, I’m asking if you can see from the PP statement what a particular payment was for?

    My tennis club sells Membership Fees, Tournament Fees and Court Booking Fees. If these are collected using your forms, could we see what payment was for what in PP?

    Many thanks.


    • Graham on 27 Apr 2017

      This is something I’ve considering for a while. Adding multiple products isn’t that complicated. What complicates matters is integrating with all the other settings and options. Every time I look at the code my heart sort of sinks as there are hundreds of functions and filters that need to be tweaked. So while I could set up multiple products it would be 10-20 hours work and I don’t really have the free time. A contribution towards the development costs would help a lot.

    • Malc on 27 Apr 2017

      Hi Graham.

      So this could only be done by adding separate products, not just having a simple reference for any product (or, indeed, “no product”)?

      I can see how that would complicate things for coding.

      Surely this is a common requirement? And do you think PP may be on the brink of introducing what would be a popular feature??

      (OK – it’s a long shot 😐 )


    • Graham on 27 Apr 2017

      Multiple products is easy – paypal already has the code for this and I’ve built a number of bespoke plugins for people who want this. The problem with adding it to my plugin is managing quantities, totals, coupons, email messages, payment logs, IPN and the already complicated ways you can set up references and amounts. But if you want something really simple I you can have this one. I’ll even tweak it to suit your needs:

    • Malc on 28 Apr 2017

      Thanks Graham. Once I’ve finished dragging my tennis club into the 21st century – by getting them to take cards at all (nearly there) I’ll have a better idea of what we’ll need, and now I know you can do that, I’ll come back 🙂

      But my main learning, I think, is that there is no way for a person unskilled in coding (such as me) to add a simple reference to any item, via a form, such that the reference is carried over to a PP report. Have I got that right?

      Sorry to take more of your time up, but once I’ve got this I think I’m there. And thanks for you generous and timely replies!


  9. Haig on 12 Apr 2017

    Dear Graham,
    Haig again ;-).

    I fear I have a bug of some sort.
    Indeed your solution doesn’t seem to work for me AND another glitch seems to be present.
    Replacing the caption from ‘Other’ to ‘Autre’ completely stops the dropdown from having effect !
    Should you wish me to give you a link to the relevant page or even have access to the Admin page of my website, I would happily oblige. But maybe in private ? 😉
    Thanks for supporting newbies!

  10. Haig on 11 Apr 2017

    I am trying to make a Payment form similar to the ‘Submit button image and Dropdown’ example you have.
    BUT, I would like the ‘This Amount:’ NOT to appear.
    Is there any way to do this?
    (Forgive me if this a newbie question).
    Thank you ever so much for your plugin and your help.

    • Graham on 12 Apr 2017

      Hi Haig,
      Go to the form settings page and scroll down. Below the form fields there are the label options. Just remove the label text and update.

      Noob questions are fine. Glad you like the plugin.

  11. Elizabeth on 25 Jan 2017

    Hi. This plugin seems to work great. Only thing I can’t figure out is the padding. I have the box checked for Custom CSS and even copied over all the code just to be sure it wasn’t a typo issue. But in Firebug, it keeps overriding the custom code and reverting back to 0 padding. I worked really hard to style my site and w/o being able to get the CSS code correct, it just looks bad. My radio boxed and “Enter your details below” are all crammed together. Maybe b/c it’s 2 a.m. and things will look different in the morning. Thanks for any helpinsight.

    • Graham on 25 Jan 2017

      The problem seems to be the Enfold theme. It’s own styles are overriding those for the plugin. What you can try is using !important on your custom styles. Or if you can set me up with a login to the site I will see if I can sort it for you.

    • Elizabeth on 25 Jan 2017

      Thanks Graham! The !important did the trick. If you would like me to make you a logo or anything else as a thank-you for this nifty plugin, just let me know. 🙂

  12. Mike McGee on 29 Dec 2016


    First, I need to say that your plugin is fantastic. I really appreciate you and your work on this!

    I just had one question that may be simple (I hope). If there a way to configure in the custom CSS to have only the button itself displayed?

    For example, I have only one item I sell. Thus, the current form shows a radio button fixed for this selection. I need the item included, because that way it will show up on the paypal page so that people know what they are ordering. However, I don’t need it on my actual purchase page since I have the description/formatting already setup. I would just like to use the button to be shown only.

    Is this possible?

    Thank you again for the wonderful plugin.



    • Graham on 30 Dec 2016

      Hiding the fields is possible but complicated as there are a bazillion variations on what is displayed. You can try adding a .qpp-style #reference{display:none;} to your CSS and see if this works.

  13. Antonio Escobar on 01 Nov 2016


    Thanks you very much for your pluging I am using a lot!

    One question. There is any way to hide the pre-set Amount?

    Thanks in advance

  14. diane on 27 Aug 2016


    I’m a bit confused on the recurring payments. I want them to pay $197 per month for an indefinite amount of time. Not sure what I should select? Thanks.

    • Graham on 27 Aug 2016

      Hi Diane,
      PayPal restricts how long a recurring payment can last. You can’t run it indefinitely. That’s why there are the options on the form settings.

    • diane on 27 Aug 2016

      ok, so how would I select it for $197 per month for three years? Is it 1 payment for 3 years? or 12 payments for 3 years or what? I’m not quite sure. Thanks.

  15. Brian on 24 Apr 2016

    I like this, it’s really very good.
    One quick question …. I’m looking at using this on a club website to collect donations to charity. I’ve set the initial value at “7” but the slider always defaults to 8 on loading :-O
    Any clues?

    • Graham on 24 Apr 2016

      Nope, no idea at all. I’ve just set up a form with the same parameters and it working with the correct initial value:

    • brian on 24 Apr 2016

      How wierd. I’ve tried it in Chrome, Firefox, Edge and Opera with exactly the same effect.
      However if I view it on my Android phone (chrome) it displays correctly as 7!

    • Brian on 24 Apr 2016

      Ok this either makes it weirder or you’ll know the answer.
      I went into ‘styling’ and changed the slider thickness from 2em (default) to 1.5em
      Hey presto – it’s now showing 7 !!

    • Graham on 24 Apr 2016

      How does that work? The styling has got nothing at all to do with the slider settings. But I’ll pretend I know what it was and say: ‘it’s because the flange_wrangler function has a quantum tunnelling effect at 2em’.

  16. Marcie on 11 Dec 2015


    None of the custom styling options I set up are working…. Could you take a look please?? The two payment boxes are just as the original.

    • Graham on 12 Dec 2015

      I’m getting a ‘page not found’ on that URL. Are you using a caching plugin? If so deactivate it and try again. And then delete the caching plugin, they are mostly useless

  17. Marcie on 11 Dec 2015

    Hello – is there a way to allow the option of either paying in full for an item or setting up recurring payments on one form??

    • Graham on 12 Dec 2015

      Hi Marcie,
      Not really. It is possible to do but would mean a lot of recoding. Would you like me to do some investigation?

  18. Mari on 08 Dec 2015

    Hi, thank you for all your work! I’m trying to use this plugin for donations, but is it possible to give amount options ($25, $50, $100, etc) as well as include an option for “other amount” where someone can put in a custom amount? With the options on the form settings, it seems like I can only do one or the other (pre-set amount or custom amount). Thanks!

    • Mari on 08 Dec 2015

      Oops, I apologize. I just saw that someone else already asked this question. Sorry about that!

  19. Shiba on 25 Nov 2015

    I’m just a learner in paypal integration process. Is there any option in your plugin where i can check in the returning url that the user completed the payment or not with a token?
    Thanks in advance.

    • Graham on 25 Nov 2015

      Hi Shiba,
      Yes there is. If you have a premier or business PayPal account you can use the IPN option. This will tell you if the payment has been made. More info on IPN here

    • Shiba on 25 Nov 2015

      Hi Graham,

      Actually I didn’t find “the long number in the last column from the payment you have just made” in the payment dashboard.


    • Graham on 25 Nov 2015

      Have you followed the instructions exactly? If you are doing a simulation you have to enable IPN, the sandbox and make a test payment.

    • Shiba on 25 Nov 2015

      Thanks! I’ve found that option and it was fine in backend. Is there any option where I can show message on front end after payment completed? any short code or custom code?


    • Graham on 28 Nov 2015

      Just set up a thank-you page and save the URL in the ‘Send Options’. After payment is complete, paypal will redirect to this thank-you page.

  20. Antonio Escobar on 05 Sep 2015


    Thanks for your plugin and work. It is very useful.
    I have two questions that maybe you can help me:

    1.- I have in my payment for: the products, the email and contact details (name, country, city, phone…) but I only can see in the WP background-> Payment section, the email and the product when my costumers buy. How can I see the other details?

    2.- I am trying to set goals in my analytic for conversions. I set my web-page with the payment form and then if the next page is, it would be a conversion. (it is how I can see after clicking submit.) But it does not work. My question is. Do you know if there is another step between the webpage payment form – that google analytics or I do not recognize/notice?

    Thanks you very much in advance. I really appreciate your effort and work.
    This has been very useful for me, after trying some other plugins.

    Regards from Spain

    Antonio Escobar

    • Graham on 06 Sep 2015

      Hi Antonio,
      1. Check the box that says ‘Show Addresses’ then click ‘Update Options’.
      2. The plugin validates the process the form and goes straight to PayPal, you stay on the same page the whole time which maybe why Google isn’t picking this up. What google will do is record people returning to the site after making the payment.

    • Antonio Escobar on 06 Sep 2015

      Hello Graham.
      Thanks you very much for your quick response.
      Point 1, I saw it, sorry, I did not notice before ask.
      Point 2, Researching…. If I set a goal as the same landing page than where the booking form is, I will have wrong conversion for any visitant without booking, instead, I ve thought to use Google Analytic Event Tracking Code to track every click in submission button.
      I am about to resolve it but I got an error. Maybe you can help me, I would really appreciate it.

      I found in quick-paypal-payments/quick-paypal-payments.php the submit button.

      I would like to add this Event (onClick) to this input:
      onClick=”ga(‘send’, ‘event’, { eventCategory: ‘Book Submit’, eventAction: ‘Reservation’, eventLabel: ‘Booking Yoga Weekend’});”

      It would be something like this if I am not wrong:

      To track every onClick in the submit as a conversion in Google Analytics.

      The thing is when I try to update this file (quick-paypal-payments.php) with the line above I got an error and I am not able to update it

      Do you know if there is another way to add this Event to the submit button? maybe from the function.php.

      Thanks again, I really appreciate your help and effort

      Regards from Andalucia, Spain

      Antonio Escobar

    • Graham on 16 Sep 2015

      I can add a new setting for you to add the onClick event code. give me a few hours and I’ll send you an update.

Web Analytics