# Delay user registration feed for 20min and start him if payment status is paid

**URL:** <https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913>\
**Category:** Get Help\
**Tags:** donations, gform\_user\_registration, delay-feed, systempay, trigger\_payment\_delayed\_feeds, user-registration\
**Created:** [November 21, 2022, 4:47pm UTC](https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913 "2022-11-21T16:47:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aryup](https://avatars.discourse-cdn.com/v4/letter/a/3be4f8/32.png) [@aryup](https://community.gravityforms.com/u/aryup)\
**Post date:** [November 21, 2022, 4:47pm UTC](https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913/1 "2022-11-21T16:47:08Z")

</div>

Hi,

We are using Gravity Forms with Gravity Forms User Registration and Gravity Forms SystemPay (a plugin to collect our donations through SystemPay).

Gravity Forms SystemPay is a very light plugin but we can get through IPN the payment confirmation after the donation. On the other hand, we do not have any pre-made “events” on Gravity Form User Registration in order to only Create/Update the account if the donation is paid.

So we are looking for a way to do it in PHP.

Can we use this filter : gform\_is\_delayed\_pre\_process\_feed to delay the User Registration feed for like 20 minutes. After 20 minutes the system would look if the payment status is “Paid” then the feed would start. If the payment status is still “Pending” or “Cancelled” then the feed would not start.

Is it possible ? I am looking for every idea.

I know that we can “manually” validate Users in the “Create user” feed, but in the “Update feed” we do not have this option, all parameters are instantly send to the user profile.

I am sorry for my english. I hope I was clear.

Thanks by advance,  
Jonathan

* * *

EDIT : Gravity Forms SystemPay add-on offer a solution to delay Notifications based on payment status with the following code :

```auto
if(isset($config["meta"]["delay_notifications"])){
            //sending delayed notifications
            GFCommon::send_notifications($config["meta"]["selected_notifications"], $form, $entry, true, "form_submission");
        }

```

If I could add a line to also process my User Registration Feeds in the same function it would solve my issue.

---

<div class="post-metadata">

**Author:** ![richardw8k](https://sea2.discourse-cdn.com/flex020/user_avatar/community.gravityforms.com/richardw8k/32/2354_2.png) [@richardw8k](https://community.gravityforms.com/u/richardw8k)\
**Post date:** [November 22, 2022, 8:48am UTC](https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913/2 "2022-11-22T08:48:03Z")

</div>

Payment add-ons can delay feeds for other add-ons, including User Registration, by overrding the `get_post_payment_actions_config` function in their add-on class which extends the `GFPaymentAddOn` class. Here is what that looks like in the Stripe add-on: [Screenshot 2022-06-06 at 08.58.29.png - Droplr](https://share.gravityfor.ms/Ae0r6S)

When that function returns an array and the feed add-on supports the delayed payments feature then the payment add-on will automatically delay the feeds when enabled in the feed configuration.

To trigger processing of the delayed feed post payment the add-on should include the following code in their method which handles processing the IPN or webhook from the payment gateway:

```auto
if ( method_exists( $this, 'trigger_payment_delayed_feeds' ) ) {
    $this->trigger_payment_delayed_feeds( $transaction_id, $feed, $entry, $form );
}

```

---

<div class="post-metadata">

**Author:** ![aryup](https://avatars.discourse-cdn.com/v4/letter/a/3be4f8/32.png) [@aryup](https://community.gravityforms.com/u/aryup)\
**Post date:** [November 22, 2022, 9:51am UTC](https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913/3 "2022-11-22T09:51:03Z")

</div>

> [@richardw8k](#):
>
> When that function returns an array and the feed add-on supports the delayed payments feature then the payment add-on will automatically delay the feeds when enabled in the feed configuration.

Thank you for you response. I am not able to use your proposition (I maybe do not have the PHP requirements skills). But I will keep trying.

If you have any example of how to use this in my case (with User Registration) it would be very nice of you.

Thanks again.

---

<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:** [December 22, 2022, 9:51am UTC](https://community.gravityforms.com/t/delay-user-registration-feed-for-20min-and-start-him-if-payment-status-is-paid/13913/4 "2022-12-22T09:51:07Z")

</div>

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