2025-08-07 1:56 AM
Dear Colleagues, Dear STM Team,
I use an ST25R3911B, and when I connect to the tag, I send data there and everything is fine. The problem occurs when I hold my phone with the eCard for payments to it. It then attempts to pay with a card over the phone. This looks strange and undesirable for customers. I don't want the ST25R3911B device to try to connect to a bank card on my phone. It looks for my clients that we try to have an access to their cards when they are close to the device. How to block this behaviour where phones behaves that try to pay every time hen are close to my reader with ST25R3911B?
I know that this happen because I am polling NFCA from the ST25R3911B reader (PICC) and then smartphone recognize ST25R3911B as the payment terminal. However, I need to have this NFCA to have communication with my NFC tag target device (PCD). So, how to prevent the behaviour of this chip to activate the credit card payment when it is close to the smartphone or smarthatch with electronic bank card?
Best regards,
Marcin.
2025-08-07 4:20 AM
Hi Marcin,
Inside RFAL, the rfal_cd layer provides an API to identify whether a card, a phone, or both are present. It is available in the latest version of RFAL.
"How to use ST25R3911B in RFAL_MODE_POLL_NFCA mode (that I need for communication with my TAG) BUT without activating card payments on the iphone/smartphone/spartwatch, etc. Is this even possible?": After a tag has been discovered and ISO 14443 layer 4 has been activated, a payment terminal sends an ISO 7816 SELECT command with a specific payment application ID (AID). It is unlikely that your ST25R3911B application sends such a SELECT AID. Could you provide more information about your application? Do you use tags supporting ISO 14443 layer 4 (also known as ISO-DEP) or rather T2T tags? If using tags supporting ISO-DEP, which AID do you use?
Rgds
BT
2025-08-07 6:06 AM
Hi BT,
Thank you for the answer. I am afraid this is not sufficient. UID read also allow me recognize the type of device: TAG, Android, etc and switch off the field then. However, the problem happens already when NFCA polling is activated before any actions with regognizing type of PICC device. The card payment atttemption is activated before the reaching the block of code that reads the type of the device T4T or T2T or T1T etc. This seems that ST25R3911B only operating as NFCA poller, is recognized by smartphone as a payment terminal. Thus I need to know how to prevent the ST25R3911B to be visible like payment terminal when it it polling in mode RFAL_MODE_POLL_NFCAneeded for the communication with the tag (PCD)
Regarding your questions:
Question 1: Do you use tags supporting ISO 14443 layer 4 (also known as ISO-DEP) or rather T2T tags?
Answer 1: I use a tag that is operating as NFC-A T4T (ISO-DEP) device.
Question 2: If using tags supporting ISO-DEP, which AID do you use?
Answer 2: As far as I know I do not send the specific AID in apdu
2025-08-07 6:29 AM
Hi,
"This seems that ST25R3911B only operating as NFCA poller, is recognized by smartphone as a payment terminal":
"However, the problem happens already when NFCA polling is activated before any actions with recognizing type of PICC device. " Do you mean during collision resolution and before activation of ISO 14443 layer 4 (also known as ISO-DEP)
"Answer 2: As far as I know I do not send the specific AID in apdu" If your tag is an NFC T4T a SELECT NDEF application (with NDEF AID) is supposed to be sent before any operation on the files. Which tag (manufacturer/model) do you use?
Rgds
BT
2025-08-07 6:38 AM
Rgarding:
"This seems that ST25R3911B only operating as NFCA poller, is recognized by smartphone as a payment terminal":
ST25R3911B is NFCA polling and then smartphone/smartwatch/android smartphon that is equipped with applicartion with e-payment and the device show the electronic card (VISA/Revolut etc) and asking for pin or fingerprint to confirm the transaction. Of course there is no transaction but it reacts like for payment terminal.
2025-08-07 8:00 AM
Hi,
as far as I know, Host Card Emulation in Android relies on Application ID to activate a given payment application. See Host-based card emulation overview. As the behavior you described seems to deviate from the Android developer documentation, I suggest you contact the provider of this payment application.
Rgds
BT