I have worked on system development for 25 years +. I worked in the SQL Server Engine, Windows CE and .NET framework. I implemented a full node bitcoin in F# and Scala.
ZCash would benefit from more support from e-commerce apps. As a private means of payment, it has an edge when discretion is appreciated.
We would integrate zcash as an "altcoin" in one of the existing cryptocurrency payment platforms. That platforms needs to be well recognized, popular, supported and preferably open source. The best candidate so far is BtcPay.
However, ZCash has a set of unique properties that makes it challenging to fit in BtcPay's existing framework:
There are clearly hard challenges ahead. Fitting in an existing payment system is difficult as we have constraints due to the current design. We will mitigate these risks by doing a thorough analysis and produce a proof of concept before moving forward.
BtcPay has no official support for altcoins. They accept contributions but will not help besides that. The documentation is very scarce and out of date in this area.
No coin other than zcash has a dual value model. This is going to be hard to integrate. With NU-5, we could even get a third pool.
Looking at the changes required for the integration of new major coins (Ethereum, Monero), this seems to be sizable task.
I don't see any downsides in offering ZCash as an additional payment option.
Once successful, this should be merged with the BtcPay code base and be ready in the official docker image.
I estimate roughly a duration of 6 months for this work. More analysis is required for a precise estimation. At this point, I'd like to see the interest before I spend time digging through the code.
The budget will be allocated for development, test and documentation.
Dev, test, doc: 70k Support: 10k
Due to the high technical risk, the milestones will be determined once we have a better understanding of the design.
Primary goal is to accept payment in ZEC from customers. They must be able to pay from transparent, sprout or sapling addresses. Secondary goal is to support shielded address for the store. If it is not possible directly, we can auto migrate daily. Also, the support for ZEC should be well documented and as easy as possible.
The actual tasks breakdown for milestone 3 will have to be defined after we get more clarity about the implementation plan.