User can’t cancel agreement if Reserved payment exists. You can find the callbacks for Agreement changes here Agreement state diagram