PayID is a simple, web-based protocol designed to make it as easy to send someone money as it is to send them an email. This guide walks you through:
Run a PayID Server
To get started, the first thing to do is set up a PayID server.
If you haven't already, install Docker on your machine.
If you have not set up GitHub, see Connecting to GitHub with SSH and Generating a new SSH key and adding it to the ssh-agent for instructions on how to do so.
The reference implementation server is available at https://github.com/payid-org/payid. You can download the reference implementation server by cloning the repository at the command line:git clone https://github.com/payid-org/payid.git
Go to the
/payiddirectory that you just created:cd payid
Boot up the PayID HTTP server and a Postgres database to develop against:
npm run devEnvUp
Create a PayID
Now that you have a PayID server running, you can create a PayID. If your server was publicly accessible, other people could query your account information from your PayID server.
To create a PayID, with an XRP Ledger Testnet account, send this request to your server:
PayID supports various payment networks. To create a second user with a Bitcoin testnet account, send this request to your server:
Request a PayID
After setting up a server and creating a PayID on the server, the next step is to request the PayID from the server. The PayID Protocol is what allows you to make these requests. And, when the server is publicly available, other wallets and entities can make similar requests to query any PayID and related account information stored on the server.
To request the PayID you created for Alice:
The response should have the following payload:
To request the PayID you created for Bob:
That's it! You've set up a PayID server locally, created new PayIDs on your server, and requested those PayIDs by using the PayID Protocol.
If you want to clean up the Docker containers, you can run
npm run devDown.
Now that you've set up the basics, learn more about PayID and what you can do with it.
After setting up the basics, you have a good foundation for learning more about the PayID Protocol. Here are some next steps you can take:
- How to convert the
user$domain.comformat to a URL
- Learn how to use relevant HTTP headers
- Learn how to handle different types of responses you could receive from a PayID server
- How to contribute to PayID
- PayID RFCs, which discuss potential changes and additions to the PayID Protocol
- The PayID Whitepaper, which provides background context around the problems that PayID solves
Xpring SDK Integration
PayID is integrated into Xpring SDK.
These libraries help you connect your application to PayID without having to worry about the specifics of PayID.