I'm doing off-line credit card processing only when an event confirms to run, so I'm not using Matukio's cart functionality. I created fields in the default booking form to collect payment information that I can use offline.
I am trying to modify my default booking form to all hide custom credit card fields until the user chooses VISA or MasterCard from a radio button field. A made the next field for Billing Name to be conditional to show only if the previous credit card field is NOT_EMPTY. The idea was to present each credit card information field one at a time so the user is less likely to skip a field.
Here comes the bug. If I do this, the form will not process and show registration fees. It just shows $0.00. Weird.
I tried changing the condition to show on value match, but I have to enter 2 conditions for the field, 1 for each credit card value in the radio button field. Here comes another bug. If I do this, only the first of the two conditions for the name field will process - probably since both conditions are pointing to the same external field, but I don't know for sure.
I also found that the Matukio default booking form configuration interface is buggy. If I condition to have one field show if a value is present for another field, sometimes, but not all the time, I find that the condition did not save as I typed it. The condition would be truncated from [credit] to [credi], or [cred]. This drove me crazy because the fields wouldn't work right since the condition had not saved properly.
I found I have to double-check what gets saved - just like I have to do with the dates on special pricing. Buggy buggy buggy.
Lastly, if I make a conditioned hidden field required, the "required" should only be enforced if the field is activated and shown. Functionally, I want to make sure all credit card information fields are completed, but only if they are shown as a result of selecting "Credit Card" from the payment options. I can't do this as is. If "wire transfer" is chosen as a payment method, and a required credit field is not show, the requirement is still enforced. I would be nice if the form had some logic coded in to be smarter than that.