We want to build a payment gateway infrastructure that enables software developers to build websites and software in general where payments are processed by the cardano blockchain. Payments can be made using native tokens (such as STABLECOINS) and/or ADA, in any app, webstore or e-commerce platform.
For this round we will focus on the backend by creating tools that will enable developers to setup and use a Free Commerce server, or integrate with a Free Commerce server provider. Basically this backend will allow developers to create applications (such as online stores and mobile apps) that can process payments in any token available on the cardano blockchain.
This is infrastructure that can later be used to create integrations with large e-commerce platforms, such as shopify and woocommerce etc, and become more accessible to the public in general.
How it will work
Here is a detailed breakdown of how it will work: first it will be free for everyone. Other than regular transaction fees on the blockchain itself, no one has to pay commissions nor fees. There's no account creation required anywhere and it works as a straight "wallet to wallet" solution:
- The free commerce server allows multiple sellers and doesn't have anyone's private key.
- At no point the app server should have access to anyone's funds, even if temporarily.
- To enable payments with any cardano token, sellers will provide their public root key. Not the private key.
- That root key will be used to generate new receiving addresses on demand.
- Every receiving address will be unique. We generate shelley receiving addresses like what daedalus gives out.
- When a customer of a store makes a purchase, a new receiving address will be generated from the public root key and associated with an order.
- When someone sends a native asset or ADA to a payment address, the store owner will receive the funds directly in their wallet, to which the server has no access (we don't know and don't want to know the private key)
- Once the total amount of the order is paid to the receiving address, the order is fulfilled.
- With one receiving address per order we are able to determine that X amount was sent to that particular receiving address, instead of mixing funds with the whole balance of the wallet managed by the store.
- This also maintains privacy of the online store as one customer won't be able to see other payments the store received.
- In short, our solution works as a mere observer of transactions made from one or more (customer) addresses to another from the store owner (associated with an online purchase). Funds go straight to the shop owner wallet.
- Any online store/app should be able to run their own free commerce server independently of us or anyone else, or can use a free commerce server instance hosted by a third party.
What we already did
Here is a video update on the developments already made to process online payments using cardano on Shopify (NOTE: this proposal is NOT about shopify, the video is an example of what can be accomplished):
(Month 1) - deliver wallet-like software solution that will enable sellers to generate "shop" wallets and export public root keys to generate payment addresses for them. Once payments are received, it will display such payments and all details associated with them (products/services purchased, etc)
(Month 2) - A basic free commerce server with endpoints that enable the integration with a basic sales workflow for online stores who want to test it. It will be updated frequently to incorporate adjustments and more features.
(Month 3) - Refinements to provide better integration with apps/online stores
(Month 4) - Free commerce server release. We'll run a public server for any app or online store with no cost added. Developers should be able integrate cardano payments into their software and start using our service without any server setup.
(Month 5 onward) - maintenance, monitoring and adjustments as required.
The entire source code of this project will be available on github under the GPL v2.0 license.
Everything we are doing here is planned to allow for easy introduction of new capabilities. The work here will later enable online payments in e-commerce platforms such as Shopify and Woocommerce - to which we will submit proposals in the future.
- I'm counting on earning additional funding from fees collected by the SHOP stake pool, especially to keep the project going after the first year.
- I've tried to minimize risk by already coding an initial prototype version the proves the service backend can work and can be integrated into online stores
- Store owners who intend to use this integration must be aware of their local legislation regarding the usage of crypto for the exchange of goods.
- Consumers of stores who sell goods for ADA must be aware of the risks associated with transacting with crypto currencies - there is little to no recourse in case of fraud. Transactions can't be reversed and funds can't be seized. This can be minimized if consumers purchase from reputable stores.
Code activity can be measured from the commits on these two github projects:
- https://github.com/uniVocity/envlp-cardano-wallet (ready for production as a wallet backend)
- https://github.com/uniVocity/envlp (user interface being built on top of envlp-cardano-wallet)
The projects can be compiled and deployed by anyone interested in seeing how the software is working at any point during development. We will provide step by step documentation on how to build, run and test everything independently.
Once the free commerce service is available to software developers, we can obtain reports and feedback from businesses that are using the integration and trying to enable cardano payments.
(A) Sales database setup: allow registering order, product and customer information from multiple apps and stores which can run on multiple platforms. We want to reuse the same back-end to process sales for multiple online stores.
(B) Back-end processing: e-mail sending, QR code generation, tracking of pending orders and corresponding payment addresses, conversion of dollar amount to ADA & native tokens (from multiple sources), handling expiration of orders that are not paid within a given timeframe, process discounts, handling partial payments and overpayments
(C) Back-end integration with cardano-db-sync: create database triggers and other functions to broadcast updates in real time from the blockchain to and capture payments to addresses associated with open orders created by each store.
(D) Store wallet development: upload public root keys to online store from within the wallet. Pull order/customer/product information fom the online store associated with each transaction in the owner wallet. Implement support for sending and receiving money like a regular wallet
(E) Build/deployment: produce scripts that produce self-contained packages ready for deployment to the servers who will run this integration (also making it easier for others to deploy and run this in their own servers)
(F) Documentation: document the source code and write tutorials with the steps required for others to extend, build and deploy this solution independently. This is documentation for other developers to refer to when trying to understand the software.
COST: $75/hour * 20 days/month * 5 months * 7 hours/day = 52,500