Having previously built CoinDrop, I had always understood the necessity of having a central payment gateway to consolidate multiple cryptocurrency addresses. I believe that having a single portal to direct cryptocurrency payments will help enable adoption and usage of cryptocurrency as a form of payment.
PayID exposes an API that does exactly that. For this project, we decided to merge the idea of CoinDrop with PayID, creating xPayments - a central, all-in-one gateway for receiving cryptocurrency and fiat payments.
What it does
xPayments allows users to create their own unique payment page - whether it be an invoice for a specific task or a generic donations page for content creators. To create a page, simply enter a PayID and some optional metadata (such as name, a custom message, or a requested amount). A unique payment page is then generated for easy invoicing and sharing.
Payees can then visit the payment page - we then display all the payment accounts associated with the PayID. We make it easy to send a payment by making addresses easily copyable and by generating QR codes. Alternatively, Payees can send the payment directly using the PayID if they have a PayID enabled wallet.
xPayments is a Vue.js web-app powered by a backend API written in Node with a MongoDB database.
What's next for xPayments.me
PayID Resolution Helper
Using this feature, users can check the payment addresses of a PayID without having the recipient sign up for a payment page. This is similar to PayID Validator
To help enable invoicing solutions, we would like to introduce payment confirmations. With this feature, users can optionally provide an email to be notified when a payee completes a payment. On the payment page, payees would be able to enter a transaction ID for us to check the status of the ongoing payment. If successful, an email will be sent to the receiver, indicating that payment has completed for a set amount.
To improve upon the invoicing functionality, we would like to integrate with Xumm to create sign requests. This further decreases the friction of collecting cryptocurrency payments.
The site is currently in demo mode. To enable production deployments, we will need to review and remediate any security concerns around our API.
xPayments.me is currently only optimized for web use. We would like to make the styling and UX responsive to mobile interfaces.
The front-end is deployed through Firebase hosting and the back-end through Heroku. For production deployment, we would like to move towards a complete solution either on GCP or AWS.
We would like to support additional currency payment options once PayID introduces support.