transactionProvider.readCard(accessoryParameters, new ReadCardProcessListener() { @Override public void onCompleted(CardProcess cardProcess, CardProcessDetails cardProcessDetails) { if(cardProcessDetails.getState() == CardProcessDetailsState.COMPLETED) { CardDetails details = cardProcess.getCardDetails(); if(details.getMaskedCardNumber() != null) { Log.d("mpos", "MaskedCardNumber: " + details.getMaskedCardNumber()); } if(details.getCardNumber() != null) { Log.d("mpos", "CardNumber: " + details.getCardNumber()); } if(details.getTrack1() != null) { Log.d("mpos", "Track1: " + details.getTrack1()); } if(details.getTrack2() != null) { Log.d("mpos", "Track2: " + details.getTrack2()); } if(details.getTrack3() != null) { Log.d("mpos", "Track3: " + details.getTrack3()); } } } @Override public void onStatusChanged(CardProcess cardProcess, CardProcessDetails cardProcessDetails) { Log.d("mpos", "status changed: " + Arrays.toString(cardProcessDetails.getInformation())); } });