Hi,
I’d like some general high-level advice on how I “should” go about structuring the following.
Details of multi page form displaying payment gateway in final step:
- Step 1 is payment amount, step 2 is contact details, step 3 or Confirmation page is an iframe.
- The form uses ajax
- There is no critical requirement for recording/saving successful payment or form entry for that matter. However I certainly want to at least save the entry details from step 1 and step 2.
- There’s no critical requirement for notifications
My Info:
I have no problems setting this up using gf api, etc. However there’s a few ways to go about this and so I’m sitting on the fence about both but have built a working prototype with method 1 below, excluding one or two listed requirements. Fyi, I used filter for nav bar to load all content and built it in filter for confirmation which contains entry obj.
Considered Methods:
Method 1:
Create a 2 step form and Load the iframe on confirmation page/step. This essentially fakes 3 steps but can use standard gf entry save.
Drawbacks/Reqs:
a) Back button on confirmation needs to be added with code and post fields (gathered from entry object) to itself with a pointer to step 2. This essentially reloads the form with entry data on step 2. I don’t think there’s any native way to do this right?
b) Needs a way to prevent further entries added. I could use a hidden field with entry obj id for this.
c) If I want to ensure changes are recorded I’d need to use filter to stop new entry and update existing entry. Inaccurate/not update data isn’t necessarily an issue so I could choose the easy way out and not save changes.
Method 2:
Create a 3 step form and Load the iframe on step 3 and basically leave the confirmation page as redundant/not used.
Drawbacks/Reqs:
a) Use a filter for step 3 and custom save the entry. Then set a hidden field with its id so going back and forward won’t save a new one. I haven’t looked into methods to save a new entry but I’m assuming it’s possible?
b) More or less the same as drawback c, in method 1.
Method 3:
Not sure there is another method, anyone?
Additional Function:
I may consider updating the entry as confirmed paid, using the gateway return url by passing it the entry id, if possible. Not critical…
As mentioned I’ve already got prototype of method 1, without back button. Does anyone know what the best method for achieving an ajax driven “back to step 2” button in method 1?
Because I’m a little clueless on how to achieve back button for confirmation page in method 1, I’m thinking perhaps method 2 is the best way and possibly the right way to do this?