So i actually think that we can require users to conform to a specific order.(Actually we could even have them specify which columns refer to which payment parameter.) The difficulty here is that we're forced to guess at what the phone number is. This is potentially problematic as dates can be misinterpreted as phone numbers.... I'm going to change this for now to stopping once we've found a phone number. But i think long term the answer is mandating a certain order of columns. Or even allowing users to match columns with the names of the parameters required for making a payment.