basic payment module (not tested)