I would like to make the following suggestion for a POS web terminal, which I think would work great both on BitPay and Blockchain.info.
USER STORY: As a merchant who has Web access at my point-of-sale register, I would like a simple and fast way to accept Bitcoin payments from users presenting Bitcoin cash, and see those payments immediately (denominated in dollars and in bitcoins), and to give change when necessary.
tl;dr simple and fast solution: Go to website, scan customer's cash, enter amount owed, scan where the change goes, and hit submit.
QR CODE SCANNERFirst, assume someone using this screen is willing to drop $300 on one of these handheld scanners. This simple handheld scanner pretends to be a keyboard and will, upon reading a QR code, simply type whatever was read onto the computer, and then (optionally) press Enter.
IT'S SIMILAR TO BLOCKCHAIN.info'S SEND MONEY SCREENSecond, if you're familiar with the Send Money screen in Blockchain.info - the one that lets you build a custom transaction from your wallet, then you're already halfway there. The screen I have in mind is nearly identical to the Send Money screen, but instead of sending money from the wallet, it actually sends money from private keys that are about to be typed into the screen via the barcode scanner.
HOW IT WOULD WORK:
* The clerk would bring up the web-based POS screen, and then type in the number of dollars or bitcoins he expects from the customer.
* The clerk would then scan the private key QR codes on Bitcoin Cash bills as they are presented by a customer. That scan would be autotyped into a text input box, and the screen would automatically react whenever it received the "enter" keypress.
* Whenever a private key is scanned, the website would immediately show the value of that key in both bitcoins and dollars. The clerk can continue to scan bills until the desired total has been reached.
* When a satisfactory amount in BTC has been reached, the transaction is ready to be submitted. More than likely however, there will be some change. The web form should permit a Bitcoin address to be scanned for the purpose of receiving the change (which could be a used bitcoin cash bill, a Bit-Pay keyfob, an unused bill, or whatever).
* When the clerk clicks the Submit button, the transaction should be broadcast to the network. The website should allow the user to print a receipt showing that a transaction has been initiated.
EXAMPLE:
I go to the store and buy a bottle of wine. Total cost is $25.
Screen says: TOTAL RECEIVED: 0 BTC ($0.00)
Clerk scans a 1 BTC bill. Now the screen says TOTAL RECEIVED: 1 BTC ($11.11)
Clerk scans a second and third 1 BTC bill. Now screen says TOTAL RECEIVED: 3 BTC ($33.33)
I let the clerk scan my Bit-Pay key fob so I can get my change. (But if I didn't have a Bit-Pay key fob, I'd pick one of my bills to receive the change, and keep it).
The clerk hits Submit, and the transaction is initiated. 0.75 BTC goes to my Bit-Pay address, which basically puts the money back where I can get it on my computer at home. Merchant gets 2.25 BTC, and I get my wine, total transaction time is under 30 seconds. The merchant throws my used bills into the trash.