lib: updating exception handling to return exception type
lib: adding class to handle remote payment processing