Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

'Z3' is the correct response code when the terminal is unable to go online, but sometimes 'Z3' shows up in tag 8A when it's not expected. Why? 

Basically, if you send a result code to the reader that is not recognized by the kernel, the kernel will change it to 'Z3' (5A33). For example: the kernel may not be recognizing result code 3035. Instead, it gets changed to 5A33 ('Z3'). 

Solution: You need to configure tag DFEE1B in the device's Terminal Settings to define your three response codes: Approved/Referral/Decline.


DFEE1B is defined as 8 bytes long:

  • Bytes 0/1 are for Approved Code
  • Bytes 2/3 are for Referral Code
  • Bytes 4/5 are for Declined Code
  • Bytes 6/7 are Reserved for Future Use (RFU).


Example: If the host uses 3030 as APPROVED, 3031 as REFERRAL, and 3035 as DECLINED, you would make sure the following TLV is included in your terminal settings:

      DFEE1B 08 3030 3031 3035 0000

Once DFEE1B is properly defined with the DECLINE = 3035, then the kernel will recognize and properly process the transaction.

NOTE: You can also send DFEE1B in the emv_completeTransaction() method, in the Universal SDK, or provide DFEE1B in the "extra tags" of the Complete Transaction parameters in the Universal Demo app, in case the tag needs to be set on a per-transaction basis.

 

See also:

  • No labels