Stripe Payment -> matching with records when successful

Hi All,

I’m adding and testing stripe payment integration in my app.

The app comes with a cart feature - users adding different ‘products’ and paying for them together. Each product requested by the user is a separate record in a knack table. At the check out, a user pays for all of them together.

I need to have a reliable way how to reconcile between successful payments and products. In test mode, when a payment is successful Knack updates the connected product records (linked to the user) and it works fine. If the payment fails, the payment form does not update the record - again, an expected outcome. I can achieve both using the record rules of Knack payment form with the instruction to carry out the update of connected record.

My question is - what about any kind of delayed/pending payments that I cannot simulate in test mode?

If the payment has been processed with some delay, Stripe will update Knack payment table only. I don’t think that the form update rule would get activated in such case, as there is no form action happening here.

Is there a reliable way to build in an update of the product records for delayed payments? How to link the payment with the records? I can see payment ID standard field, but it seems to be useful when linking knack with stripe account only?

I can use Make/Zapier to perform an action, it’s more a question about connection between payment and records and how it works with regular features, since this should be a fairly common need.

Many thanks for your inputs!

Jakub