I am trying to develop an ATM cash transaction monitoring application. I am using the CEN-XFS APIs to listen to events generated by the Cash Dispenser Device Class (CWA1574-8) interface. I read through the WFS_CMD_CDM_DISPENSE command documentation and I find that none of the events that this command generates clearly signifies that a cash transaction has failed due to cash jam.
Will WFS_EXEE_CDM_CASHUNITERROR be generated when a cash jam happens? There is another event WFS_EXEE_CDM_NOTEERROR which says it will be generated on an item detection error, so it is clearly not anything about cash jam.
Similarly, one more question related to this is that "items taken" is indicated by WFS_SRVE_CDM_ITEMSTAKEN event, so, I can listen to that event, but "items not taken" has no event and it is returned as error code "WFS_ERR_CDM_ITEMSNOTTAKEN". My program is only a monitoring application and my program listens to these events, how do I now know that customer has not taken the presented cash? Looks like a poor design.