Я бы выбрал стратегию 3.
Когда вы переключаете представления формы с помощью jQuery, вы также можете заменить почтовый URL формы.Таким образом, он может легко обрабатываться различными методами контроллера, каждый из которых имеет свою собственную логику проверки.
Еще один вариант (не тот, который мне нравится) - создание объединенной модели для обоих вариантов оплаты.После создания экземпляра этой модели вы, вероятно, легко сможете определить, какая форма была активной.Или вы также можете установить какое-то скрытое значение с помощью jQuery, чтобы указать активное представление формы.
PS С # 2 трудно сказать, какая модель будет работать до тех пор, пока каркас не попытается создать один экземпляр, и если он не сможет выполнить другой,Это не совсем просто, и структура была построена не для того, чтобы быть такой умной и привнести некоторую инициативу в процесс.