A single reference for IOTA Payments.
IOTA Pay is an attempt to address a human usability issue that most of us have when it comes to IOTA.
Spending from an address makes it unsafe to be used in the future. The IOTA Wallet and IRI all have functions now that can check if addresses are re-used or not so the unsafe part is largely 'solved'. However it still requires communication prior to transacting. Real life examples always work best so here are two:
The donation use-case:
By using IOTA addresses you allow people to send you IOTA's for all the great work you do, unfortunately, by making the address public you immediately take the funds hostage. Because spending it means the address becomes invalid, so you have to change the address before spending because otherwise no-one is able to donate anymore! Luckily most sites allow for quick changes but with printed media it becomes a problem!
However! An IOTA Pay reference stays valid forever! You can even print it(QR) and it even survives snapshots!(sort of, more on that later).
Sharing the bill:
I am with friends drinking a beer and pay the bill which we decide to split afterwards. I give my friends an IOTA address they can send money/IOTA to. 3 out for 4 friends pay immediately, but my 4th friend is generally lazy when it comes to these things.
Now I want to pay for something using IOTA and the wallet software uses the address that was filled by my 3 other friends. All great, but now Mr4 decides to pay me, but the address is spent from and his wallet doents't allow to send IOTA to that address, quite a bummer because now Mr4 needs to ask me for a new address.
If an IOTA Pay reference was shared this would not have been a problem, Mr4 could use that reference, my 3 direct payers could use the same reference and I am free to spend the IOTA without the need to consider address re-use. A win-win.
It all sounds great! But what's the catch? Of course there are some: You as the seed owner are responsible for supplying the future address, it requires proof of work to secure them into the tangle (much like 'attach to tangle') and after snapshots you will have to generate the addresses again because non-financial transactions are being purged from the tangle.(Considering performance on heavily used IOTA Pay references this is actually a good thing).
Current state of development:
It is ready to be tested, there is a working easy to use UI and QR-code integration with trinity is working.
Most of its advanced features are however not exposed in the current UI.
And snapshot recovery is not yet implemented
0 Fees, 100% decentralized, pure open-source.