You could achieve the desired functionality by replacing the EcommercePaymentMethodService. This service implements an interface IEcommercePaymentMethodService and it has one very important method GetApplicablePaymentMethods(CheckoutState checkoutState, CartOrder cartOrder).
This method returns which are the payment methods for a particular client. In this method you could add a filter by role. After you extend it you need to override our default implementation by adding the following code in Global.asax file in your project:
To summarize you need to do is create a new class extending our and override GetApplicablePaymentMethods method
sender, Telerik.Sitefinity.Data.ExecutedEventArgs e)
// Register the new Type of the IEcommercePaymentMethodService
and add replace the default IEcommercePaymentMethodService
using the information above so the system could use the extended method.
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal
and vote to affect the priority of the items