Add a Surcharge Field to Gravity Forms to Cover Paypal Fees

Paypal remains probably the handiest way to pay for and get paid for products and services but having just done my taxes for last year, I can see that the fees I had to pay for accepting Paypal payments from clients are getting pretty significant. I’ve decided to ask people if they’d like to pay these fees or not rather than forcing it on them and I’m only asking for 50% of the fees to be paid considering both seller and buyer are benefiting from using Paypal. Fair?

The first couple of things that need to be said are these:

  1. Paypal may not like people adding surcharges to cover their fees. In fact it’s probably against their policy. I don’t know why because they would make more money.
  2. People paying for services and products may not like to see extra fees added on checkout.

Nevertheless! Here’s how to add a field that automatically calculates Paypal fees for a customer entered amount.

You’ll need a developer licence for Gravity Forms Wordpress forms plugin for this so you can grab their Paypal Add-on. A developer licence is well worth it for this excellent forms plugin. They have some other great add-ons too. See my review.

Step 1

Add a new gravity form with whatever basic informational fields you want the customer to fill out, typically Name, Phone, Email & Item just so you’ll know who’s paid and for what.

Step 2

Add 2 “Product” fields from the “Pricing Fields” menu, the first of which should be configured to take a user defined price as below. It can also be a set price as opposed to user defined:

The second Product field is the tricky one. Some maths skills are needed! This field needs to be configured as a Calculation from the “Field Type” drop down menu. In the “Formula” field I inserted the “Payment Amount” merge tag from the first Product field above. Then I added the rest of the formula to calculate the % fee as below. You’ll need to visit the Paypal Fees web page to see the exact fees in your country and for the monthly incoming Paypal volume you have personally. For me it’s 3.4% + 0.35 cents. Also remember that I’m dividing by 2 here because I’m only asking for clients to pay 50% of the fees. You can leave that out if you’re not as generous as me. Here’s the formula and setup screen:

(  ( {Payment Amount (Euros):11} * 3.4 / 100 ) +0.35 ) /2

Step 3

Add a “Total” pricing field at the end too just so people can transparently see how the fees were added.

Step 4 (Optional)

In my form, I’ve also added a “Radio Buttons” field from the Standard Fields menu which I’m using to ask the client whether they want to bother paying any of the fees or not. I don’t want to force extra payments on anyone but the addition of this field will help sort the nice clients from the not so nice ones maybe!? With this field added, you need to go into the advanced settings of the second “Surcharge” pricing field and turn on “Enable Conditional Logic” to only show the surcharge field if people have chosen “Yes” to paying the fees. See below:

Here’s a link to my form so you can see how it all comes together:



Published by

Leon Quinn

Multimedia Design company in Leitrim, Ireland specializing in WordPress Website Design, Photoshop and Graphics.

2 thoughts on “Add a Surcharge Field to Gravity Forms to Cover Paypal Fees”

  1. Cool coding! Just a question on the form you a have a field named
    Payment Amount (Euros)*
    how did you manage to conect the input of that field to the total field? I can’t seem to replicate that field… What type of field is it? How did you make it have a relashionship? Thanks!


    1. The ‘Total’ field in Gravity forms automatically takes the input from any Product fields. Don’t forget to add the ‘Payment Amount (Euros)’ merge field in the calculation field too..


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.