The SequenceNumber of the POSSequenceNbr must be incremented on each transaction. After the value reaches "999", it should be reset to "001" on the next transaction. The rules for incrementing the values are:
Incrementing POSSequence Nbr | Rules |
---|---|
Approval |
Increment the value. |
Timeout/No Response |
Send a timeout reversal, then increment the value. |
Host Out of Sync |
If the value in the POS and on the Host gets out of sync, then the host will return a decline message with Bank Response Code = 899, along with a value in TraceNumber; that value must be sent in PosSequenceNbr of the next request from the POS. |
Response Received without BankResponseCode |
This scenario is treated as "Transaction Not Completed." Do not increment the value. |
Response Received with BankResponseCode = 898 |
Do not increment the value. |
After Successful MACKey Exchange |
Increment the value. |
Reversal |
When the Reversal Reason Code is CUSTOMERCANCELLATION, increment the value. For all other reason codes, the request message contain the sequence number of the original transaction. |