I was wondering whether it was possible to use CiviCRM webform to create a booking form that would allow someone to:
- register for multiple upcoming events
- pay a single 'booking fee'
- edit their booking, without having to pay the 'booking fee' again
So far I've managed to:
It's possible to allow them to select from multiple upcoming events, using the 'Event registration' tab in CiviCRM webform.
I can enforce a single 'fee' for the registration using the 'Contribution' tab > 'Contribution amount' field > with a default set to 10 and disabling the field.
I can enable the Stripe payment processor.
I can use simple logic in hook_form_alter to reduce the 'contribution amount' to 0 if the same contact ID already has a completed contribution against the contribution page associated with the event.
However now the form does not submit because the total cost is '0' - and it seems to require there to be some sort of payment.
So what's left:
- Is there a simpler way to achieve this?
- Is there a way to configure the webform to still submit, and skip the payment processing, if the total cost is 0? Is this issue specific to the Stripe payment processor?