Я только что реализовал интерфейс со сторонним платежным сервисом для подписок на сайт, которым я занят. Сервис называется PayFast , вроде как местный PayPal. В настоящее время в моем конфигурационном узле AppSettings есть множество элементов с ключами с префиксом «PayFast», поэтому я изучаю варианты выделения их из основного файла web.config.
Самое простое, что приходит мне в голову, - это использовать внешний файл .config для этих специфичных для службы настроек, но это громоздко, и я ограничен структурой ключ / значение элементов add . Я бы предпочел реализовать собственный обработчик разделов, группу разделов и разделы для каждого платежного сервиса (я планирую добавить PayPal позже, а возможно и больше).
Как мне структурировать обработку этого пользовательского раздела, чтобы у меня было несколько разделов, один для локального макета сервиса, один для онлайн-тестирования сервиса, один для использования сервиса в реальном времени и т. Д. Я думаю, что самый внешний элемент должен иметь атрибуты, которые определяют, какой из внутренних разделов использовать, макетировать, тестировать и т. д. У меня нет особых проблем с этим в XML, и, возможно, будет полезен инструмент, который может генерировать обработчики из XML.
В качестве дополнительного бонуса в идеале хотелось бы, чтобы структуры верхнего уровня для каждой платежной службы также были сгруппированы в общем узле PaymentServiceProviders, но на данный момент это всего лишь желаемое за действительное.