Skip to content
This repository was archived by the owner on Mar 8, 2024. It is now read-only.

Commit a5903e6

Browse files
authored
#2 Welcome page content repurposed to "What is PayID?" (#126)
* added more getting started and adapted existing * what is payid adds back content from the original welcome page * missed file * updates to docs * tweak docs
1 parent fdaf410 commit a5903e6

File tree

9 files changed

+205
-16
lines changed

9 files changed

+205
-16
lines changed

docs/getting-started-sandbox.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
---
2+
id: getting-started-sandbox
3+
title: Get Started With PayID Sandbox
4+
sidebar_label: Get Started With PayID Sandbox
5+
---
6+
7+
With the [PayID Sandbox](https://payid.org/sandbox), you can experiment with PayID without deploying your own server. The PayID Sandbox does not directly support Verifiable PayID.
8+
9+
**Caution:** Although the PayID Sandbox can be used to create PayIDs, do not use PayIDs that rely on this virtual server to send or receive real cryptocurrency.
10+
11+
You can also experiment with PayID by using [PayID CLI](payid-cli), which does support Verifiable PayID.
12+
13+
The sandbox allows you to experiment with PayID, but does not create an application that allows you to send or receive currency using the PayID.
14+
15+
You are encouraged to copy the cURL or JavaScript code snippets that the sandbox provides and adapt them to your app.
16+
17+
Requirements:
18+
19+
- GitHub account. You will use this GitHub account to log in to PayID Sandbox.
20+
- Crypto addresses on other wallets or exchanges. You can map your PayID to these crypto addresses.
21+
22+
## Open PayID Sandbox and Create a User
23+
24+
1. Open [PayID Sandbox](https://payid.org/sandbox) and log in with your GitHub account.
25+
The sandbox sets up a virtual server for you at `<YOUR_GITHUB_USERNAME>.sandbox.payid.org`.
26+
You also get an Admin API token that can be used to create and manage users. Save this token for later use. By default, the sandbox incorporates this token into the **Authorization: Bearer** heading.
27+
![Sandbox start](/img/docs/sandbox-start.png)
28+
2. Click **Try API Constructor**.
29+
![API Constructor](/img/docs/api-constructor1.png)
30+
On the **API Constructor** page, you have access to all of PayID's capabilities. The **Create User** page opens by default.
31+
3. Under **API Details**, enter the value for this PayID to create a full PayID address. Example: `starlight$loisrp.sandbox.payid.org`. This is a PayID that you can use to send or receive currency.
32+
4. Under **Address1**, select the network you want to use. For experimentation, you can choose any of the networks, and you can use a real or fake address for it. This example uses a live address on the XRPL network.
33+
- Select **XRPL** for the **Payment Network**
34+
- Enter `rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy` for the **Payment Address**.
35+
- The **Destination Tag** can be used to enter a number that is typically used to map to a user in another system. You can experiment by adding a value.
36+
- Select **Testnet** or **Mainnet**, depending whether you want to have the address be valid for test currency or real currency.
37+
- If you want to associate another address to this PayID, click **+** and repeat the process for another address. Your PayID can have multiple addresses on multiple networks on the same PayID.
38+
5. By default, **cURL** is selected on the top right. The sandbox constructs the cURL snippet you need to create a user. You can also select **JavaScript** to run a script to create a user.
39+
6. Click **Run**. Whether you used cURL or JavaScript, the JSON response for the newly created user looks the same.
40+
```json
41+
{
42+
"payId": "starlight$loisrp.sandbox.payid.org",
43+
"addresses": [
44+
{
45+
"paymentNetwork": "XRPL",
46+
"details": {
47+
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy",
48+
"tag": "56"
49+
}
50+
}
51+
]
52+
}
53+
```
54+
55+
## Get Payment Information
56+
57+
**Get Payment Information** is a public API, and does not require your Admin API token. You can use this API for any PayID.
58+
59+
1. Click **Get Payment Information** on the left.
60+
2. Enter the PayID. On the sandbox, you are restricted to PayIDs on your server. Enter the PayID you just created, or another one you happen to know. Select either **cURL** or **JavaScript** at the top right.
61+
3. Click **Run**. The JSON response provides information about the PayID.
62+
63+
## Get User
64+
65+
**Get User** provides the same information as **Get Payment Information**, but **Get User** does so through the private Admin API.
66+
67+
1. Click **Get User** on the left.
68+
2. Enter the PayID you want to look up.
69+
3. Select either **cURL** or **JavaScript**.
70+
4. Click **Run**. The JSON response provides information about the PayID.
71+
72+
```json
73+
{
74+
"payId": "starlight$loisrp.sandbox.payid.org",
75+
"addresses": [
76+
{
77+
"paymentNetwork": "XRPL",
78+
"environment": "TESTNET",
79+
"details": {
80+
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy"
81+
}
82+
}
83+
],
84+
"verifiedAddresses": []
85+
}
86+
```
87+
88+
````
89+
90+
If you enter a nonexistent PayID, you get the response `"Failed to find the PayID <NONEXISTENT_PAYID_VALUE>"`.
91+
92+
## Replace User
93+
94+
With **Replace User**, you can rename a PayID, and enter new address information. The address information from the "old" PayID does not transfer to the new PayID, so you have to enter the address information again.
95+
96+
1. Click **Replace User** on the left.
97+
2. Enter the PayID you want to rename, and the new PayID. In this example, `starlight` is replaced with `moonlight`.
98+
3. Enter the address information as if you were creating a user.
99+
4. Select either **cURL** or **JavaScript**.
100+
5. Click **Run**.
101+
```json
102+
{
103+
"payId": "moonlight$loisrp.sandbox.payid.org",
104+
"addresses": [
105+
{
106+
"paymentNetwork": "XRPL",
107+
"environment": "TESTNET",
108+
"details": {
109+
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy"
110+
}
111+
}
112+
],
113+
"verifiedAddresses": []
114+
}
115+
````
116+
117+
The new PayID information is returned in JSON format.
118+
119+
## Delete a User
120+
121+
1. Click **Delete User** on the left.
122+
2. Enter the PayID you want to delete.
123+
3. Select either **cURL** or **JavaScript**.
124+
4. Click **Run**. The PayID is returned.
125+
`"moonlight$loisrp.sandbox.payid.org"`
126+
127+
The PayID you have deleted is returned in the response. Even if the PayID did not exist, you will get the same response.

docs/getting-started.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
---
22
id: getting-started
3-
title: Getting Started
4-
sidebar_label: Getting Started
3+
title: Get Started Overview
4+
sidebar_label: Get Started Overview
55
---
66

77
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 the following.
88

99
- [Experiment With the PayID Sandbox](#experiment-with-the-payid-sandbox)
1010
- [Run a PayID Server](#run-a-payid-server)
11-
- [Create a PayID](#create-a-payid)
12-
- [Request a PayID](#request-a-payid)
11+
- [Run PayID CLI](#run-payid-cli)
1312
- [Learn More](#learn-more)
1413
- [RippleX Dev Kit Integration](#ripplex-dev-kit-integration)
1514

@@ -19,7 +18,7 @@ Your contributions are welcome. Check out the [PayID repository on GitHub](https
1918

2019
The [PayID Sandbox](https://payid.org/sandbox) lets you experiment with PayID in a test environment. Your work is not saved between sessions, and the sandbox may be reset at any time.
2120

22-
To use [PayID Sandbox](https://payid.org/sandbox), log in with your Github account and follow the prompts. You can quickly set up a virtual test server, and then create users with simple PayID addresses that map to addresses on various networks such as XRPL, Interledger, BTC, and ETH. Using the provided cURL or Javascript code, you can create, update, and delete users, and get payment information about a PayID address. While the session is running, you can also run operations from your command line.
21+
To use [PayID Sandbox](https://payid.org/sandbox), log in with your Github account and follow the prompts. You can quickly set up a virtual test server, and then create users with simple PayID addresses that map to addresses on various networks such as XRPL, Interledger, BTC, and ETH. Using the provided cURL or Javascript code, you can create, update, and delete users, and get payment information about a PayID address. While the session is running, you can also run operations from your command line. See [Get Started With PayID Sandbox](getting-started-sandbox).
2322

2423
## Run a PayID Server
2524

@@ -36,7 +35,7 @@ To familiarize yourself and experiment with PayID, you can set up a local PayID
3635
4. Boot up the PayID HTTP server and a Postgres database to develop against:
3736
`npm run devEnvUp`
3837

39-
## Create a PayID
38+
### Create a PayID
4039

4140
Now that you have a PayID server running, you can create a PayID. If your server is publicly accessible, other people could query your account information from your PayID server.
4241

@@ -81,7 +80,7 @@ curl --location --request POST 'http://127.0.0.1:8081/users' \
8180
}'
8281
```
8382

84-
## Request a PayID
83+
### Request a PayID
8584

8685
After setting up a server and [creating a PayID](#create-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.
8786

@@ -126,6 +125,10 @@ If you want to clean up the Docker containers, you can run `npm run devDown`.
126125

127126
Now that you've set up the basics, [learn more](#learn-more) about PayID and what you can do with it.
128127

128+
## Run PayID CLI
129+
130+
PayID CLI allows you to manage PayIDs and get user information from the command line. See [Get Started With PayID CLI](payid-cli).
131+
129132
## RippleX Dev Kit Integration
130133

131134
PayID support is integrated into [RippleX Dev Kit](https://github.com/xpring-eng/ripplex-dev-kit).

docs/metrics-tutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
id: metrics-tutorial
3-
title: Metrics Tutorial
4-
sidebar_label: Metrics Tutorial
3+
title: Get Started With Metrics
4+
sidebar_label: Get Started With Metrics
55
---
66

77
## Deploy a PayID server with Docker, and pull PayID metrics into Prometheus

docs/payid-cli.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
id: payid-cli
3-
title: PayID CLI
4-
sidebar_label: PayID CLI
3+
title: Get Started With PayID CLI
4+
sidebar_label: Get Started With PayID CLI
55
---
66

77
With the PayID CLI, you can run PayID commands from the command line, and access all PayID features.

docs/payid-use-cases.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
id: payid-use-cases
3+
title: PayID Use Cases
4+
sidebar_label: PayID Use Cases
5+
---
6+
7+
PayID can be used anywhere that a payment workflow occurs. Due to the ease of PayID, you can also consider new ways to monetize products and services.
8+
9+
If you are using PayID for your app, you can use the reference implementation as a basis for your PayID methodology, or you can develop your own implementation.
10+
11+
You can see some examples of [PayID technology in action](https://docs.payid.org/). These apps cover use cases like these. Payments may be done end-to-end in cryptocurrency, but do not have to be. Some ideas implemented by partners or hackathon participants include the following:
12+
13+
- Create a PayID with a mobile phone
14+
- Create QR codes that represent a PayID
15+
- Game key marketplace
16+
- International money transfers
17+
- International payments for work
18+
- Wallet that performs cross-chain transfers directly to a PayID
19+
- Central gateway to send and receive crypto and fiat payments
20+
- A physical store of value on a card
21+
22+
## Wallets and exchanges
23+
24+
A wallet is a software program in which you store your cryptocurrency. An exchange can host a wallet, but primarily an exchange is used primarily to store cryptocurrency and to convert between cryptocurrency and fiat currency. PayID can be used for all of these transaction types:
25+
26+
- Wallet to wallet
27+
- Exchange to exchange
28+
- Exchange to wallet
29+
- Wallet to exchange
30+
31+
## Building with PayID
32+
33+
PayID can become part of payment flows. Wherever there is a credit card request or an option to pay by PayID or Venmo or another such service, PayID can be used as well.
34+
35+
A harder question is: Where can PayID be used where it's not an obvious option?
36+
37+
## Tutorials based on PayID use cases
38+
39+
Stripe can be deployed to implement much of a bank's machinery, as [shown here[(https://stripe.com/docs/payments/charges-api) and [here](https://stripe.com/docs). PayID simply lacks that level of functionality, and it's not what it is trying to do anyway. We should concentrate on simple options at first.
40+
41+
We have simple tutorials showing how to use the PayID APIs, how to use PayID CLI, how to use Verifiable PayID, how to deploy PayID, and how to use metrics.
42+
43+
A simple tutorial could show the following:
44+
45+
- Use a Payburner wallet (or maybe look at incorporating a workflow on creating a walllet) and load it with a few XRP.
46+
- Create a different wallet, or another Payburner wallet.
47+
- Create a PayID (signed) for each wallet.
48+
- Use one wallet to pay the other.
49+
- Use Get Payment Information, and Get User.
50+
- For bonus points, use RippleX Dev Kit.
51+
52+
A related tutorial could show transfers between different networks (so maybe two different types of wallets?).
53+
54+
As new features come into play, then we have more options.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
id: welcome-to-payid
3-
title: Welcome to PayID
4-
sidebar_label: Welcome to PayID
2+
id: what-is-payid
3+
title: What is PayID?
4+
sidebar_label: What is PayID?
55
---
66

7-
With PayID, you use human-readable addresses to transmit value in the currency of your choice. The PayID network allows participants to reach one another through a standardized address. For example, `alice$example.com` maps to the corresponding URL `https://example.com/alice`.
7+
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. With the PayID protocol, you use human-readable addresses to transmit value in the currency of your choice. The PayID network allows participants to reach one another through standardized addresses. An address such as `alice$example.com` maps to the corresponding URL `https://example.com/alice`.
88

99
When you make an HTTP GET request that follows the PayID protocol, it resolves to an address on the underlying payment network. PayID is a payment-network-agnostic protocol, capable of sending payments in BTC, ETH, XRP, or fiat networks like ACH.
1010

sidebars.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,17 @@ module.exports = {
44
type: 'doc',
55
id: 'home',
66
},
7+
{
8+
type: 'doc',
9+
id: 'what-is-payid',
10+
},
711
{
812
type: 'category',
913
label: 'Get Started',
1014
items: [
1115
'getting-started',
16+
'getting-started-sandbox',
17+
'payid-cli',
1218
'verifiable-payid-tutorial',
1319
'ripplex-dev-kit-payid-get-started',
1420
'metrics-tutorial',
@@ -19,7 +25,6 @@ module.exports = {
1925
label: 'Reference Implementation',
2026
items: [
2127
'payid-reference-overview',
22-
'payid-cli',
2328
'verifiable-payid',
2429
'payid-discovery',
2530
'payid-best-practices',
121 KB
Loading

static/img/docs/sandbox-start.png

80.3 KB
Loading

0 commit comments

Comments
 (0)