Which states can the Agreement have?

User can’t cancel agreement if Reserved payment exists.

You can find the callbacks for Agreement changes here 

Agreement state diagram