4 - developing custom apps – MagTek iDynamo User Manual
Page 15

4 - Developing Custom Apps
iDynamo| MagneSafe Secure Card Reader Authenticator | Technical Reference Manual
Page 15
4.4.1 State Transitions Example: Power Up, Authentication, Good Swipe
1) Reader Powers Up (State = WaitActAuth:PU). App should send the Get Reader State
command to discover the current state of the reader.
2) App sends valid Activate Authenticated Mode command (State→WaitActRply:PU).
Reader returns response code 00 inferring the transition to the WaitActRply:PU state.
3) App sends valid Activation Challenge Reply command (State→WaitSwipe:PU).
Reader returns response code 00 inferring the transition to the WaitSwipe:PU state.
4) User swipes a card correctly (State→WaitActAuth:GoodSwipe). Reader sends encrypted card
data to the app inferring the transition to the WaitActAuth:GoodSwipe state.
4.4.2 State Transitions Example: Reader Timeout Waiting for Swipe
1) Reader waiting (State = WaitActAuth:GoodSwipe). This is after a good swipe. App may send
the Get Reader State command to discover the current state of the reader.
2) App sends valid Activate Authenticated Mode command
(State→WaitActRply:GoodSwipe). Reader returns response code 00 inferring the transition to
the WaitActRply:GoodSwipe state.
3) App sends valid Activation Challenge Reply command
(State→WaitSwipe:GoodSwipe). Reader returns response code 00 inferring the transition to the
WaitSwipe:GoodSwipe state.
4) Timer expires (State→WaitActAuth:TOSwipe). Reader returns empty card data to the app to
report the timeout (see Reader Encryption Status in iDynamo MagneSafe
Communication Reference Manual). App infers a transition to WaitActAuth:TOSwipe state.
4.4.3 State Transitions Example: App Sends Invalid Activation Challenge Reply Command
1) Reader Waiting (State = WaitActAuth:GoodSwipe). This is after a good swipe. App may send
the Get Reader State command to discover the current state of the reader.
2) App sends valid Activate Authenticated Mode command
(State→WaitActRply:GoodSwipe). Reader returns response code 00, inferring the transition to
the WaitActRply:GoodSwipe state.
3) App sends invalid Activation Challenge Reply command
(State→WaitActAuth:FailAuth). Reader returns response code 02 or 04 inferring the
transition to the WaitActAuth:FailAuth state.
4.4.4 State Transitions Example: Timeout Waiting for App’s Activation Challenge Reply
1) Reader Waiting (State = WaitActAuth:GoodSwipe). This is after a good swipe. App may send
the Get Reader State command to discover the current state of the reader.
2) App sends valid Activate Authenticated Mode command
(State→WaitActRply:GoodSwipe). Reader returns response code 00 inferring the transition to
the WaitActRply:GoodSwipe state.
3) Reader times out waiting for app to send Activation Challenge Reply command
(State→WaitActAuth:TOAuth). App doesn’t know because the reader can/does not send any
message.
4) App eventually sends Activation Challenge Reply command (state remains
WaitActAuth:TOAuth). Reader returns response code 07 inferring the previous transition to
WaitActAuth:TOAuth state.