Form with a payment

I have had a client request and i am not sure how to impliment it.

The client would like a simple form with a payment attached at the end of it. Its for an event they are running. They have stripe and opayo.

Years back one of the form plugins had this functionality, but it looks like nothing can do this at the moment, or am I just looking in the right places?

Implementing payments within forms is pretty tricky, as you have to validate both the form input as well as the payment processing, and if one or the other fails it’s a question of how you handle that.

I did once work out a way to add Stripe payments to express forms, where I pushed the form validation to be javascript only… but it was pretty hacky, and with things like Stripe Checkout it became too hard.

So normally in these situations we either:

  • set up a form to save and then redirect to a non-public page we have payment processing
  • or we do it the other way around, and go to a form to submit details after payment.

The first option is safer, as it’s easier to chase up non-payments because you have someone’s details.

Our Payments with Stripe - concrete5 is good for this kind of situation.