refactor #payment_method and #provider