You should switch to infrared emitters and sensors, which will do the same thing but be outside the spectrum of visible light (at least visible light that humans see). As a bonus, phone cameras and webcams can "see" infrared light, which is essentially how cheap night vision works. More fun stuff to play with. TV/DVR remotes among many older technologies work on this principle to send data to the TV or the DVR box.
Fiber optic cables also use light to transmit data. They are more sensitive in that there is little to no tolerance for physical problems in the cable, the connectors, or the connection to the device. A single piece of dust or microfracture will wreak havoc.
Transmitting data via light pulses also sounds very much like old modem tech. Analog audio signals can carry more information by spreading out which value is which frequency.
So there are at least three different avenues to explore.
If the end goal is to somehow improve contactless payment, displaying a QR code that takes the user to a payment app would probably be better. That way there's no NFC involved and the payment happens on the user's network-connected device. QR codes can also be scanned from several feet away. If someone else snaps the QR code, the only thing it should be good for is to actually pay for the final Total of the goods/services and, once they are paid for, the code can be made to not work after that. So the only thing "stealing" the QR code would do is enable someone else to pay for your stuff. The humble QR code might solve the problem you seem to be trying to solve with flashing lights.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
You should switch to infrared emitters and sensors, which will do the same thing but be outside the spectrum of visible light (at least visible light that humans see). As a bonus, phone cameras and webcams can "see" infrared light, which is essentially how cheap night vision works. More fun stuff to play with. TV/DVR remotes among many older technologies work on this principle to send data to the TV or the DVR box.
Fiber optic cables also use light to transmit data. They are more sensitive in that there is little to no tolerance for physical problems in the cable, the connectors, or the connection to the device. A single piece of dust or microfracture will wreak havoc.
Transmitting data via light pulses also sounds very much like old modem tech. Analog audio signals can carry more information by spreading out which value is which frequency.
So there are at least three different avenues to explore.
If the end goal is to somehow improve contactless payment, displaying a QR code that takes the user to a payment app would probably be better. That way there's no NFC involved and the payment happens on the user's network-connected device. QR codes can also be scanned from several feet away. If someone else snaps the QR code, the only thing it should be good for is to actually pay for the final Total of the goods/services and, once they are paid for, the code can be made to not work after that. So the only thing "stealing" the QR code would do is enable someone else to pay for your stuff. The humble QR code might solve the problem you seem to be trying to solve with flashing lights.