Interface defining the complete set of fields in a payment data and can be implemented for best performance of the system.
Interface defining the minimal amount of information that needs to be stored for a given payment flow.
General interface indicating implementing type is some form of PaymentData (eventually persistable).
Special interface for payment workflow that should support pay per request billing.
A Standard PaymentData contains most of the needed data fields to be stored in a normal lightning related invoicing solution.