# Delay entry creation

**URL:** <https://community.gravityforms.com/t/delay-entry-creation/14848>\
**Category:** Get Help\
**Tags:** gravity-view, custom, delay-entry-creation, gravity-flow\
**Created:** [April 1, 2023, 4:25pm UTC](https://community.gravityforms.com/t/delay-entry-creation/14848 "2023-04-01T16:25:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![user5c3e2cb0d52bd2.9](https://avatars.discourse-cdn.com/v4/letter/u/a698b9/32.png) [@user5c3e2cb0d52bd2.9](https://community.gravityforms.com/u/user5c3e2cb0d52bd2.9)\
**Post date:** [April 1, 2023, 4:25pm UTC](https://community.gravityforms.com/t/delay-entry-creation/14848/1 "2023-04-01T16:25:11Z")

</div>

So, the flow I’m trying to accomplish is:

User updates form (this is done via Gravity View)  
The entry is processed with all the normal validations  
**The entry is NOT updated yet**  
User is redirected to checkout with adjusted price  
User pays  
Upon payment completion, **the entry is now saved and updated**

So far, I can accomplish everything except what is in bold. Right, now, I’m able to hook in and redirect the user after they update their entry, pass the price difference to WooCommerce, and then trigger an action on payment completion.

I’m having trouble telling gravity forms to NOT save the entry on submission and then figuring out a way to pass that updated entry object to the last step after payment has completed.

I thought about using the gform\_form\_tag filter to add a custom handler to the form… but I’m unsure how to handle that data, temporarily store it, and then pass it to the end function. That route seems a little too much for what I’m wanting, especially with the $entry object so nicely provided in so many hooks.

Any suggestions would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![user5c3e2cb0d52bd2.9](https://avatars.discourse-cdn.com/v4/letter/u/a698b9/32.png) [@user5c3e2cb0d52bd2.9](https://community.gravityforms.com/u/user5c3e2cb0d52bd2.9)\
**Post date:** [April 3, 2023, 10:28pm UTC](https://community.gravityforms.com/t/delay-entry-creation/14848/2 "2023-04-03T22:28:31Z")

</div>

So, I’m trying another approach now. I’m trying to maybe roll back the update, immediately after the [gform\_post\_update\_entry](https://docs.gravityforms.com/gform_post_update_entry/) hook fires… However, the $original\_entry and the $entry object that I am logging are identical…

I do have Gravity Forms Entry Revisions add-on… is this causing some weird conflict?

---

<div class="post-metadata">

**Author:** ![JamieO](https://sea2.discourse-cdn.com/flex020/user_avatar/community.gravityforms.com/jamieo/32/2521_2.png) [@JamieO](https://community.gravityforms.com/u/JamieO)\
**Post date:** [April 4, 2023, 3:51am UTC](https://community.gravityforms.com/t/delay-entry-creation/14848/3 "2023-04-04T03:51:06Z")

</div>

Have you looked at how [Gravity Flow](https://gravityflow.io) could help you in this? The idea that different steps happen in a prescribed order after form submission is the core of what it’s build for. That includes [making edits](https://docs.gravityflow.io/article/23-configuring-user-input-step), [Woo Commerce and payments](https://docs.gravityflow.io/article/221-woocommerce-payment-step), or [updating fields in an existing entry](https://docs.gravityflow.io/article/248-form-connector-update-fields).

**How many fields are subject to the changes before payment?**  
Could you have “duplicate” fields for each in the form and use a preferred method to copy the values:

- gform\_after\_submission
- Set the default value in duplicate fields based on the “original” field merge tags
- Flow’s Form Connector Update Fields
- [Gravity Wiz CopyCat](https://gravitywiz.com/documentation/gravity-forms-copy-cat/)

Then expose the appropriate fields to View / Flow / other for method to edit. That would allow you to use the appropriate hook/event to copy back into the “original” fields for the final entry save following payment.

In Gravity Flow’s case, it reads like it could be a no-code required pattern, but [gravityflow\_step\_complete](https://docs.gravityflow.io/article/98-gravityflowstepcomplete) may also be one to look at for low-code to trigger changes. It’s kind of the step equivalent of gform\_after\_submission or gform\_post\_update\_entry in the case of its’ User Input step type.

Regards,  
Jamie

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex020/uploads/gravityforms1/original/2X/f/fef63f0599c45e0218c30d9f5d7ca8bff9b00189.png) [@system](https://community.gravityforms.com/u/system)\
**Post date:** [May 4, 2023, 3:51am UTC](https://community.gravityforms.com/t/delay-entry-creation/14848/4 "2023-05-04T03:51:35Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
