A generic payment system architecture