|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| == Issue ==
| | {{Migrating|https://smartpossdk.gitbook.io/cloudpossdk/faq/emv/resolve-detection-priority-conflict}} |
| In some instances, POS systems detect a contactless card before a chip card, even when attempting to process a chip transaction. To resolve this, follow the steps below:
| |
| == Step-by-Step Solution ==
| |
| # '''Enable Anti-Shake Function:'''
| |
| #* Before opening the reader, execute ''''emv_set_anti_shake(1)'''' to enable the anti-shake function.
| |
| #* Example: This can be done in the ''''readAllCard'''' method in ''''FuncActivity.java''''.
| |
| # '''Handle Contactless Card Found Event:'''
| |
| #* When a contactless card is detected, the ''''SMART_CARD_EVENT_CONTALESS_ANTI_SHAKE'''' event will be triggered.
| |
| #* The callback function will wait for 400 ms by default to allow for detection of other readers.
| |
| #* Implementation: This can be observed in ''''cardEventOccured'''' in ''''FuncActivity.java''''.
| |
| # '''Check MSR Read in Callback:'''
| |
| #* In the card event callback, specifically ''''case CARD_CONTACTLESS_ANTISHAKE:'''' in ''''RequestCardActivity.java'''', check if MSR is read.
| |
| #* Call ''''emv_anti_shake_finish'''' based on the MSR state. This method should also be called if a contact card is found (''''case CARD_INSERT_NOTIFIER:'''' in ''''RequestCardActivity.java'''').
| |
| # '''Restart Contactless Reader if Necessary:'''
| |
| #* If there’s an interaction error with the contactless card (''''case ERROR_PROCESS_CMD:'''' in ''''ProcessEMVCardActivity.java''''), restart the contactless reader.
| |
| #* Consider steps 1 and 2 if contactless is restarted (''''case CARD_CONTACTLESS_ANTISHAKE:'''' in ''''ProcessEMVCardActivity.java'''').
| |
| # '''Interrupt Contactless Transaction for Contact Card Insertion:'''
| |
| #* During a contactless transaction, if a contact card is inserted, interrupt the transaction before reading the application finishes. Then, restart the transaction with the contact card.
| |
| #* See ''''case ERROR_CONTACT_DURING_CONTACTLESS:'''' in ''''ProcessEMVCardActivity.java'''' for implementation details.
| |
| '''Note:'''
| |
| * These steps encompass the entire procedure for handling the issue of contactless detection taking priority over chip detection.
| |
| * For further guidance and example implementations, refer to the EMVSample documentation.
| |