I have a form gravity forms containing two sections
the first section concerns the fields to get the customer contact information, and among these fields we have the field “phone number”
I would like that when the user finishes entering both sections of the form, by clicking on the button send, it verifies if the number he has entered exists in our database, if yes, we send the form is submitted directly
if not, we take him to check his phone number by sending him a verification code by SMS, and that he must enter for verification, when actually checking his number, it is recorded in our database. given, then we submit our form
the mini-orange plugins otp and fraudlabs do not allow to verify the sending of the form and do not save the number so that we have more to check a second time
When your customers interact with your web forms, are they logged into WordPress ?
Do you have in-house capability to perform some custom PHP coding for this task ?
I have pondered your requirements, and can see a few ways this could be achieved, but I’m only a developer myself, and not fully knowledgeable of all the many WP and GF plugins out there, so I can only suggest how I would tackle this - which would require some custom coding to accomplish.
When your customers interact with your web forms, are they logged into WordPress ?
NO, BUT WE CAN IMPLEMENT IF IT’S IMPORTANT
Do you have in-house capability to perform some custom PHP coding for this task ?
YES
I REMAIN OPEN TO ANY PROPOSAL FROM YOU
I HAVE TO SAY THAT I THOUGHT I HAVE REALIZED THAT BY RECORDING THE USERS WITH JUST THEIR TELEPHONE NUMBERS, BUT THE PROBLEM IS THAT THEY WILL ALWAYS CHECK THEIR TELEPHONE NUMBERS EVERY TIME, AND I WOULD LIKE THE CHECK TO BE ONLY FOR NUMBERS THAT HAVE NOT BEEN VERIFIED BEFORE SENDING THE FORM
Perhaps something like an approach outlined below will work for your project, my thinking is this would be fairly easy to implement and would integrate readily into your current system…
I think your project is a perfect candidate for my new “Shared Fields” plugin (free), as I believe your requirements would entail much more custom work without it. This GF enhancement automatically saves field entry values into the global SESSION array, which is exposed to PHP App scripts as well as GF’s native “Conditional Logic” field feature.
Create Three Pages Each With Its Own Form
Page One - Enter info data Form (multi-page form is OK here if desired)
Page Two - Enter SMS code OR request SMS code be sent
Page Three - Review info data from Page One with SUBMIT button
Create Two Simple PHP App Scripts
App One - Phone Number in database validation and redirect script
App Two - SMS send script - redirects to Page Two
Process Flow Description
User lands on Page One - all previous entry data (if any) is pre-populated into their respective fields (via “sticky field sharing” plugin). A hidden field is pre-populated with the value in SESSION variable: “otp_verified”.
IF “otp_verified” is set to “PENDING”, an HTML block is displayed with link to Page Two
User clicks the submit button on Page One and their browser is directed to App One URL which evaluates “otp_verified” :
IF it’s set to “PENDING” they’re redirected to Page Two
IF it’s set to “VERIFIED” they’re sent to Page Three
IF it’s not set or set to “UNVERIFIED” they’re sent to Page Two
User lands on Page Two - using the “Conditional Logic” feature, an HTML block of instructions and links for either of two possible cases is rendered.
User lands on Page Three - using “Conditional Logic” either the Submit button is displayed, or instructions and links are rendered for user.
Actions of two app scripts evaluate and / or set “otp_verified” to appropriate value
I would be happy to coordinate and assist your PHP developer to assemble a simple “POC” (proof of concept) set of pages, forms, and scripts to do demonstrate this approach’s viability, and of course to provide my beta version of the Shared Fields plugin. My interest and motivation here is to promote and polish this new plugin for the WP/GF community - as actual projects are generally the final stage for a successful release of new software.