Contactless is a revolutionary way to pay: not only is it faster than conventional means like card or cash payment, but it is more hygienic too. More recently, during the coronavirus pandemic, this has become of the utmost importance.
Unfortunately, contemporary contactless payment requires technology such as NFC or QR scanning, both of which place avoidable requirements on the hardware a customer carries.
We wanted to find a way for all phones to be able to use contactless payment, not just those with NFC or a camera.
We believe we can achieve this using purely sound. Telephone networks span the globe, with digital transmission over audio a proven technology (for example, in dial-up internet that was prevalent in the 1990s and early 2000s). Where we can send audio, we can make electronic payments.
What Apay does
Our project allows phones to transmit encrypted payment information to a merchant receiver at the till via sound, allowing the shopper to quickly and safely pay for products.
How we built it
Using GNU Radio, we designed an audio modulation system to transmit & decode information via sound. This framework is cross platform allowing us complete flexibility in deployment. We have wrapped our digital radio system with custom Python code and ZeroMQ to produce an end-to-end transmitter and receiver pair.
Challenges we ran into
It goes without saying sound is noisy. A major challenge we ran into was ensuring the received could robustly recover the information sent; another was making sure the information was correctly encoded and loaded so it could be transmitted in the first place.
Accomplishments that we're proud of
We've transmitted data over an audio link using complex algorithms that we previously thought were just abstract maths!
What we learned
- GNU Radio: We came into this with no previous experience and all had to get to grips with the program and how its concepts translated into our understanding of the tech.
- Digital communications and modulation: putting modern communication techniques into practice requires a lot more experience than just knowing the theory
What's next for Apay
Developing the system further with an encryption algorithm and two way communication.