Если еще актуально:
1. для всех типов плательщиков у вас создано соотв. строковое свойство
2. вешаетесь на событие добавления заказа: например OnSaleOrderSavedHandler в d7.
3. в случ. если заказ новый и имеется не пустая соотв кука, перебираете свойства из getPropertyCollection, нужному обновляете знач., делаете save() заказа.