Multiple submissions on a payment form

  • Profile Image
    Asked on December 01, 2015 at 10:12 AM

    I know you have loose and strict checks for the prevention of multiple submissions, but I have a unique situation in which I'm not sure there is an answer. 

    I have an order form running right now. We sometimes receive a duplicate order a couple of minutes apart. I'm guessing it's possible that they are waiting for the thank you message to pop up and it gets delayed or doesn't quite make it to the end, and they are pushing submit again. Is there anything to stop another order from coming through just based on recent submissions? I don't want to use the loose or strict checks because they may order multiple items for different people just minutes apart. It seems I need to notify them with and error message that they are submitting duplicate data or something like that. 

    Any suggestions would be appreciated. Thanks!

  • Profile Image
    Answered on December 01, 2015 at 11:48 AM

    This seems like an interesting case :)

    Now, I have 2 ideas already, but I would like to check the form form that you plan to have this on first to see how we could implement both and would help you then with the same.

  • Profile Image
    Answered on December 01, 2015 at 11:53 AM

    This is the form

  • Profile Image
    Answered on December 01, 2015 at 01:51 PM

    Thank you.

    Now looking at the form I see that there are many details that we can use to check if the submission is the same or not.

    The way I would do it is to add one more Form Calculation widget and call it Unique (Unique-field in my example).

    In it, you should add the "Total" Form calculation so that we get the total.

    Next to it, you should also add something specific to the submission, such as date and time of the form load and the email of the user.

    So our Unique field widget looks like this:

    This will then give us a string like so:


    This would make it very hard for them to open the form within the same minute and fill out with exact same details and then submit to you - while if they refresh the same details will be used and as such would be blocked.

    If you want to allow them to open the same form multiple times in the same minute, and then fill them out one at a time and submit (using same email and same total), all that you should do is add random() function in the Unique field widget.

    Doing that will mean that only the exact submission can not be re-submitted once again, but any new submissions will be accepted.

    This is how it would look with random:

    - I got the random by clicking on the 3 dots on the right.

    Once we do this, we need to set up the condition to move the data from Form Calculation to the Text Box (so we add text box). I named it "unique-field2" and passed the data from the above calculation to it:

    Now all that we are left to do is to make the form limit using unique question.

    You can see about that here: How to set Form Limits Based on a Unique Question

    This is how it looks on my end:

    Close Settings and Save and preview :)

    You can see how it would look here:

    PS: I did not hide any fields so that you can see them, but of course, you can (and should) hide them.

    When you submit the message, do try to refresh the form again to see what happens.

    - Since there is payment involved, please first clone the form to your account, which you can do by following the steps here: How to Clone an Existing Form from a URL

    Do let us know how it goes.

  • Profile Image
    Answered on December 01, 2015 at 03:05 PM

    Thanks. I will be testing your suggestions to see if it is what works for our needs. I appreciate the quick reply!

  • Profile Image
    Answered on December 01, 2015 at 05:53 PM

    You are welcome.

    Please do let us know how your tests go and if you have any additional questions and we would be happy to assist :)