Calculate Stripe processing fee based on total

  • Profile Image
    Asked on September 16, 2014 at 01:01 PM


    When a payment is processed through Stripe, they automatically deduct their processing fee (2.9% + .30) for each transaction before making the transfer to your bank. For proper record keeping purposes, my clients need to keep track of three things;

    1. what aspect of the organization the donation is designated to
    2. the total donation amount so that they can give proper tax deductible giving credit
    3. the total processing fee for each donation

    The notification emails are great because I can list out all of the donation information, however if they want to know what the processing fees are they have to go to their Stripe dashboard and dig into each transaction to find the details. 

    I tried using a hidden calculation field with the following formula to calculate what the processing fee will be, that way I can list it right in the email that my clients will receive.

    ( [subtotal]  * 0.029 ) + 0.3

    The problem with the above is that JotForm is rounding down, so it has the potential to be one cent off.

    For example, a payment of $15 would look like this:
    (15 * 0.029) + 0.3 = 0.735 

    On JotForm, this calculation shows the fee to be $0.73 but with Stripe, their fee is actually rounded up to $0.74. I tried using some of the advanced functions like round() but was not having any success making this happen. Is there a way to use calculations that will round up the third decimal if necessary?

    Any advice would be greatly appreciated. Thanks so much!

  • Profile Image
    Answered on September 16, 2014 at 02:16 PM


    In the advanced options for the calculation field there is an option for how many decimal places you would like to round to:

    If this is not what you were looking for, please let us know and we will be happy to see what else we can find.

  • Profile Image
    Answered on September 16, 2014 at 02:37 PM

    Thanks so much for the response. This helps, but I'm not sure it is exactly what I'm looking for.

    In my above explanation, the exact calculation comes out to be 0.735 and while the advanced options do correctly show only two decimal places, it simply truncates the decimal rather than rounding it. Since it is 0.735, the third decimal place being 5 should round it up to the next decimal making the final number 0.74 rather than just truncating it, or rounding down to 0.73. When Stripe process the payment, they round up so in order to properly calculate the fee, the third decimal place (if there is one) must be rounded up if it is 5 or higher. 


    Here is how I have my calculation set up:


    You will notice on my form, the Total Donation Amount calculates properly, and the Stripe fee is calculating, but it is rounding the final number from 0.735 down to 0.73


    Hopefully this explanation will make more sense as to what I am looking for. Basically, I think I am looking for something similar to a roundup() function. Since I am working with currency, I need it to round up to the nearest 100th decimal place. 


  • Profile Image
    Answered on September 16, 2014 at 03:24 PM

    One other question.....

    As I am setting up my first form using the Stripe Test Mode, are these counting as part of my allotted 10/month submissions/payments?? I notice on my dashboard it now says my form has 7 submissions. If I go over the 10, what will happen? Will I automatically bump up to the paid level or will my form just not work?

  • Profile Image
    Answered on September 16, 2014 at 04:17 PM

    You would need to change the "Decimal Places In Numerical Results" to 3 in order to calculate to the next digit.  There is no way currently to change the way the rounding is done unfortunately.  Here is my test form with the digits changed to three:

    It does indeed show the third digit and round to that place.

    As far as the testing and your submission limits, we usually reset users limits when they are doing testing.  I went ahead and did so for your account.  If you do go over your limits, your form will be disabled.  You will receive a notification before hand and have a day or two to upgrade before it is disabled however.

  • Profile Image
    Answered on September 16, 2014 at 05:31 PM

    Thank you very much. I will use three decimal places for now.
    The notification for the submission limits will be great as I am not sure
    how much the form will be used until we have a few months in and see how
    people respond.
    Thanks for all your help!

  • Profile Image
    Answered on September 16, 2014 at 05:37 PM

    You are very welcome!  Let us know if you have any further questions and we will be happy to help.

  • Profile Image
    Answered on May 06, 2016 at 12:55 PM

    It seems that your response is not posted here and displaying blank. Hence, I'm posting it here for reference:

    How we can calculate the Stripe.

    I am using this formula to calcualte Stripe Fee.

    Say amaount = $100

    (100 * 0.029) + 0.30 = 103.20

    But On stripe it is displaying 103.29 instead of 103.20.

    Dont know what's going on??

    I've tried this calculation and it seems to be working fine at my end. Could you share your JotForm so that we can take a look and provide you with necessary assistance?