[Forminator Pro] Stripe integration process payment before submission

Hi, we are using forminator stripe integration to process payments in a form. Overall, it works great, but we got a couple issues with it :

1. First one, a payment has been processed twice during a single form submission. we had no log / tracking / whatever of the first one on forminator side, only the 2nd payment’s id appeared in logs.

2. more important for us. Payment is processed before form submission, which let people pay and forget to submit the form. Is there a way to trigger payment only during form submission process ?

Thanks !

  • Amin Nazemi
    • Staff

    Hi BreizhCoastSwing

    I hope you are doing well today, and thank you for reaching out.
    1. That is expected behavior if you are using the dynamic payment methods since there are specific limitations regarding how payment intents are created:

    For Card-Only Payments: Payment intents should not be created at all. This is because when a payment is solely made with a credit or debit card, the system should avoid initiating a payment intent unless necessary. This helps to streamline the payment flow and reduce unnecessary processes.

    For Dynamic Payment Methods: The system must ensure that payment intents are not duplicated. While dynamic payment methods (such as local wallets, bank transfers, etc.) will still trigger the creation of some incomplete transactions, these are necessary to display the available payment methods to the user. However, the system is designed not to duplicate payment intents in such cases. This ensures that users have access to the relevant payment options without cluttering the system with redundant intents, thus maintaining efficiency and accuracy throughout the payment process.

    In summary, the creation of incomplete transactions is intentional and allows us to display dynamic payment options. Unlike the old Stripe field, which does not support dynamic payments, the new Stripe field functions differently. In the new field, payment intents are not duplicated, particularly when using dynamic payment methods. This approach ensures a smoother user experience while adhering to the specific requirements of Stripe’s payment flow.

    2. I’m afraid there are not any out of box options that allow you to change the payment behavior; the user needs to fill out the form in order to make the purchase, best practice is to createa a multipe page form and add your payment field in last step so user wont miss anything or create a simple form with fewer fields.

    Kind Regards,
    Amin

  • BreizhCoastSwing
    • New Recruit

    Hi, thanks for your fast answer !

    For 1, I don’t think it’s expected, even with dynamic payments methods. I can see multiple “fake” intents as you’ve described. But for one of the submission, I got 2 real payments (customer also sent us a screenshot with 2 real payments made from his bank account).

    For 2, that’s already what we’re doing, payment is the last thing in our multi page form. I know many online shop for ex have this ability to “pre-validate” payment but only effectively make it when you validate the full form. I’ll try some workaround by having conditionnal message displayed after payment is made to be sure the button is not missed.