Reading PayWave (ISO14443-B format) track information through Android 2.3.3 NFC
<p>I'm trying to <strong>Read Track data for Payment cards</strong> (<em>PayWave, PayPass</em>). As per my understanding they follow <strong><em>ISO 14443 B</em></strong>.
With new NFC API,</p>

<ol>
<li>i can connect with IsoDep format without any exception thrown</li>
<li>call getHiLayerResponse() - returns nothing :(. Now what?</li>
</ol>

<p>Later i tried to call transceive() method, but all in vain (i don't know the <strong>APDU</strong> commands). </p>

<p><strong>Can someone help me how to read/get track details of PayWave or PayPass cards (payment cards)?</strong></p>

<pre><code>if ( NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) ) {

       Parcelable nfcTag = intent.getParcelableExtra("android.nfc.extra.TAG");
       Tag t = (Tag)nfcTag;
       IsoDep myTag = IsoDep.get(t);

       String s1 = null, s2 = null;
       byte[] b1 = myTag.getHiLayerResponse(); //b1 is not null, but length == 0
       if( b1 != null &amp;&amp; b1.length &gt; 0 )
           s1 = new String(b1);

       byte[] b2 = myTag.getHistoricalBytes(); //returns nothing coz its NfcB
       if(b2 != null &amp;&amp; b2.length &gt; 0)
           s2 = new String(b2);

       if( !myTag.isConnected() )
       {
           myTag.connect();

           String sData = "0xBB"; // got this magic value from web
           byte []data = sData.getBytes();
           result = myTag.transceive(data);
           if(result != null &amp;&amp; result.length &gt; 0)
           {
               s3 = new String(result); // value of s3 will be "m"
           }
       }
}
</code></pre>

<p><strong>Any help will be great, please shed some light... Thanks in Advance</strong></p>
