Zcash Point of Sale app (PROPOSAL)

Interlocutor: PlusBit Point of Sale Company (https://plusbit.tech/)

Problem statement
This project will be designed for merchants to be able to accept Zcash quickly, easily, and securely. In order to further adoption of Zcash we need to make it easy for merchants to accept it as a form of payment. This system will enable them to do so. ZEC’s integration as a form of payment in this platform represents an important step forward in making ZEC becomes a more widely adopted and easily accessible cryptocurrency. Also accelerates the ZEC adoption in real life.

So far, POS systems were being built using custom hardware, making them costly and less flexible. A new trend is emerging now. Business owners have started using tablets and smart phones as their POS terminals. PlusBit POS is an app based on Android platfrom, used by merchants and vendors for processing cryptocurrency payments. Make your tablet or smart phone Point-of-Sale (POS) system with PlusBit.

Why use this instead of a mobile wallet?
One of the main reasons a merchant would use this app over the standard mobile wallet would be to have an experience they are familiar with. It has been designed to be very closely related to credit card processing machines in this respect.

The main reason however, besides ease of use and familiarity, is the fact that this terminal is not a wallet. Several factors to consider;

  • PlusBit only generates the payment requests to a wallet that the merchant controls on a different machine. This means that there is no control of the coins from the POS software. This situation works especially well when you have employees that may access this machine as well.
  • Keeping your private keys offline is always a bonus!
  • Your wallet may need time to sync.
  • Unlocking wallet in front of customers is not safe.

What are the features?

  • No need to purchase hardware, convert smartphone or tablet to POS device
  • PlusBit does not get any fee from TXs
  • There is no monthly fee. PlusBit is a free mobile Point-of-Sale app.
  • Supports multilanguages (en, es, tr, de).
  • Supports 12 fiat units
  • No kyc
  • No registered account
  • No control of the coins from the POS software
  • PlusBit does not hold or store your coin ad private key. You have immediate ownership and full control of your money.

How It Works?

  • Connect your business wallet address to app, which is where you’ll receive payments.
  • Enter sale amounts in your local currency and have them converted to an amount in crypto. A QR code will then appear for your customer to scan using their own personal wallet.
  • After your customer pays, an on-screen verification will pop up. The payment will then land in your business wallet. You can watch your balance information also.

Are there features planned beyond this release?

  • Works on iOS (Q4/2019)
  • Invoice history (Q4/2019)
  • Invoice printing (Q1/2020)
  • NFC payments (Q1/2020)

Cost estimates and funding sources
Budget: 500$ in ZEC for the whole project.

Find out more about PlusBit at our website here: https://plusbit.tech/

Kind Regards
PlusBit

Hi,

Welcome to the forums.

May I have a copy of the FIPS report please?

May I please have the requirements tests for these and the report.

Thanks in advance.

Steve

Thank you,
Yes sure everyone can test the app but this is only proposal for community and ZEC team.
Of course we have created POS app for some coins, If ZEC community support this project, we are ready to start work.

Best wishes

This seems very similar to Anypay which is a PoS system that allows users to pay with Zcash Transparent and Shielded (Z) address at merchants: https://anypayinc.com/

Is your plan to also support Z-addresses?

2 Likes

Yes, all are similar point of sale apps. But i am not sure Anypay gets commissions from TXs or not. Moreover they demands $15,000 for the year from coin teams (Maybe they added ZEC free, i dont know this too). And there is monthly cost for merchants?

  • PlusBit does not get any fee from TXs
  • There is no monthly fee. PlusBit is a free mobile Point-of-Sale app.
  • There is no listing fee, just need 500$ budget for developers.

Regarding Shielded transactions, plusbit cannot support it. App uses the insight explorer api and no chance to fetch data from there for shielded one.

Kind regards

Ah, I misunderstood, it is just at the ideas stage.

PM me if you need any hardware help. (I have already PM’d you.)

It is also good idea to create POS device for ZEC. We can do it, however, it will become extra cost for merchants to purchase device. So, here we propose to make your tablet or smart phone Point-of-Sale (POS) system with PlusBit.

Okay cool, please address the FIPS questions then. - I helped create EMV spec and POS zero knowledge (kinda, think the POS never knowing your pin, but still being able to veify the transaction is valid before sending to the banking HSM for approval) devices for the banking industry (and the HSM’s they talk to), I am just trying to help you get some legitimacy.

Good luck tho. zcash certainly needs more merchant adoption.

I can’t see zcash being available anymore … :frowning: Am I looking wrong?

1 Like

It seems not available on Web POS, i didnot checked the app

Still available last time I looked: https://anypayinc.com/zcash/

@Shawn, ZEC insight explorer api displays the data for Shielded?

Strange… it doesn’t show up on my web account and app when logged in with same account. It used to though …

1 Like

This platform is correct for my proposal? How can i continue? Maybe a voting or… @Shawn

2 Likes

Many thaks @anon16456014, i will apply there. Is there submission fee to apply?

No submission fees on the Foundations grant platform :slightly_smiling_face:

1 Like

Congratulations on your efforts. we all dream of more adoption.
your system appears nearly Identical to that of Anypay. both seem to be sound code but I would like to point out some shortcomings in the current solutions out there for merchants.Most smaller merchants have a single cash register for their in-store sales. one of the bright points of crypto is ease of use. smaller merchants can’t afford to constantly upgrade any of the tools of business. asking a merchant to set-up and utilize a system solely for the “occasional” crypto transaction has proven to be a failure point. the merchant wants the investment they’ve made already in a register, card reader. receipt generator etc. to do it all.
we shouldn’t expect a merchant to reach for another piece of hardware to accept a different form of money.
when current hardware providers add a button to accept crypto on the existing design of POS terminals all solutions such as this are moot.

Fair point. and very possible using existing technology for some coins. the actual internal banking infrastructure wouldn’t need changing at all.

I hadn’t looked at the issue this way before, but there are no real blockers I can see (except maybe z2z) I will see if I can get a basic prototype setup that uses a payment HSM to hold the blockchain, and see if I can get the pos terminal to wrap a transaction properly.

then use new EMV rules to process crypto transactions (Service Codes) and NFC to publish the transaction to the PoS terminal. (For Americans, EMV is the Chip n Pin, it allows you to pin verify a transaction without the terminal ever knowing the pin, account, amount, etc. (although it could be modded to store these values - EMV is like zcash tech for chip n pin)

Hurm,

in this post PoS = Point of Sale NOT Proof of Stake!

Thinking about this further, I was trying to write a quick EMV flow diagram and hit a problem.

“Torn Transactions”

This is when you use you card, but for whatever reason the online part of the payment fails due to communications error or a PoS terminal error, but you have already left the shop. due to you passing the PoS (or terminal) risk management - this is a whole section to itself. (see the links below)

The encrypted transaction is stored on the card (or terminal) and only removed when the online verification passes or fails, so the next time the card is used the transaction is published and verified or the terminal is fixed (but the terminal doesn’t always store it). This highlights a pretty big issue I didnt see before:

“mobile banking” relies on the ability for you to go into a negative balance. This would be trivial to do against a bitcoin PoS machine. (even if it is set to always connected to the bank, I can force a torn transaction from my side, then move the coins)

A very basic flowchart which is what I was trying to do, when I hit the torn transaction problem.

(each step is explained quite well and gives you lots to dig up, there are actual flowcharts for all of this)
look how late in the process online verification happens. if there is an interruption at any point between offline and online you get a torn transaction.

ISO 7816 - this is pretty essential to understanding how the spec works. it is also the spec. (although EMV has additions)

Some heavy reading as to what would be involved (the actual spec)

These are some of the basic causes of torn transactions, that can “just happen” (fallback includes torn transactions amongst other things)

The EMV process follows a flow chart for risk and card management - this is defined on the PoS device itself and by the cards 3 digit service code. - so you could try to fix this by putting a PoS device rule in place that says all crypto must be remotely verified, but this takes time and would need to be included in the mempool at least, even then 0 conf is a bitch, so you would want 1 conf. which negates the speed and ease of use, and 1 zec conf is not the same as 1 btc conf.

I cant see a way to rectify this issue. I will always be able to steal stuff using torn transactions - how does your software negate this issue? @PlusBit how do you stop a balance from ever going negative with 100% certainty? (I guess the proper way to phrase it is how do you stop double spends?)