This is how ZGo currently works. The user sets prices in the fiat currency, ZGo has a price feed for USD, EUR, GBP, CAD and AUD getting updated every 60 seconds. The ZEC prices shown in the UI are calculated with the latest available price of ZEC for the fiat currency in use.
Also, ZGo updates all the calculations when finalizing and totaling an order for payment. So the final payment will use a ZEC price that is at most 2 minutes old. Also, ZGo records this price as part of the order so a vendor can know the cost basis of that ZEC and make the fiat<->ZEC conversion later if needed for some accounting reason.
Regarding the public repo, I’m working on that, cleaning up the code and documenting it a bit so it is more understandable. I will definitely post it here and on the website once it is up.
We have finished the Terms of Use for ZGo, now available here
The login-by-Z2Z mechanism has been changed, decoupling it from the payment for the ZGo service. This allows:
Swapping or adding devices for only the cost of a memo.
If your device is un-linked (by a privacy browser/extension, clearing of cookies, etc), you don’t have to re-purchase your ZGo session, simply re-link via a Z2Z memo.
Purchasing a ZGo session enables all currently linked devices automatically.
We are currently testing and fixing obvious bugs, in preparation for our Beta Testing Partner program.
Also, our GitLab repo is up and running. We will be leveraging the GitLab issues platform for discussing new features, the first discussion on invoices is up.
The next major feature to be developed is invoicing.
The ZGo back end is been re-implemented in Haskell.
ZGo will be released under the BOSL license going forward.
May Updates
Thanks to very detailed thoughtful feedback from a member of the Zcash community in our GitLab page, we are focusing on implementing the invoicing functionality for ZGo, enabling vendors that may not operate face-to-face to accept Zcash as payment.
In order to support this functionality and other future development, we are re-implementing the ZGo back end server in Haskell. Once the re-implementation is complete, we will build the full invoicing integration incrementally and updates will be provided regularly.
The current public version of ZGo (version 1.0.5) will be moved to a legacy branch in the repository, all further changes will continue on the master branch, where the existing back end will be removed. The ZGo back end will be published in a separate repository on GitLab.
Finally, after the extensive discussion on licensing by the Zcash community, we will be licensing the new ZGo back end code and all versions of the ZGo front end above 1.0.5 under the Bootstrap Open Source License (BOSL) v. 1.0. We believe it is a worthwhile attempt to improve sustainability in libre software projects and look forward to see this license in the ecosystem.
I’m not too familiar with BTCPayserver, so I couldn’t go into its details.
With ZGo, all users need is a Zcash wallet. If they want to use our integrations to WooCommerce or Xero, it needs some additional configuration but users don’t have to run or maintain their own full node or any other additional server to accept ZEC as payment.
We will maintain the support for Sapling because we have users that have created shops with those addresses, but once we release UA support I’d expect most vendors to use UAs since now most wallets support UA functionality.
Could you run an instance of our app on your server? It’s open source, you’d need some server admin skills, but you could run the retail functionality. For the integrations, you’d need some coding ability.