-
Notifications
You must be signed in to change notification settings - Fork 15
#2 Welcome page content repurposed to "What is PayID?" #126
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
--- | ||
id: getting-started-sandbox | ||
title: Get Started With PayID Sandbox | ||
sidebar_label: Get Started With PayID Sandbox | ||
--- | ||
|
||
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. | ||
|
||
**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. | ||
|
||
You can also experiment with PayID by using [PayID CLI](payid-cli), which does support Verifiable PayID. | ||
|
||
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. | ||
|
||
You are encouraged to copy the cURL or JavaScript code snippets that the sandbox provides and adapt them to your app. | ||
|
||
Requirements: | ||
|
||
- GitHub account. You will use this GitHub account to log in to PayID Sandbox. | ||
- Crypto addresses on other wallets or exchanges. You can map your PayID to these crypto addresses. | ||
|
||
## Open PayID Sandbox and Create a User | ||
|
||
1. Open [PayID Sandbox](https://payid.org/sandbox) and log in with your GitHub account. | ||
The sandbox sets up a virtual server for you at `<YOUR_GITHUB_USERNAME>.sandbox.payid.org`. | ||
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. | ||
 | ||
2. Click **Try API Constructor**. | ||
 | ||
On the **API Constructor** page, you have access to all of PayID's capabilities. The **Create User** page opens by default. | ||
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. | ||
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. | ||
- Select **XRPL** for the **Payment Network** | ||
- Enter `rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy` for the **Payment Address**. | ||
- 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. | ||
- Select **Testnet** or **Mainnet**, depending whether you want to have the address be valid for test currency or real currency. | ||
- 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. | ||
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. | ||
6. Click **Run**. Whether you used cURL or JavaScript, the JSON response for the newly created user looks the same. | ||
```json | ||
{ | ||
"payId": "starlight$loisrp.sandbox.payid.org", | ||
"addresses": [ | ||
{ | ||
"paymentNetwork": "XRPL", | ||
"details": { | ||
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy", | ||
"tag": "56" | ||
} | ||
} | ||
] | ||
} | ||
``` | ||
|
||
## Get Payment Information | ||
|
||
**Get Payment Information** is a public API, and does not require your Admin API token. You can use this API for any PayID. | ||
|
||
1. Click **Get Payment Information** on the left. | ||
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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are there any well-known public servers we could point users to? (I'm guessing no.) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can't change the server in the UI. The sandbox only allows your specific local server. |
||
3. Click **Run**. The JSON response provides information about the PayID. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Any reason not to include a sample response here as well? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now I see what you mean. Have added there as well. |
||
|
||
## Get User | ||
|
||
**Get User** provides the same information as **Get Payment Information**, but **Get User** does so through the private Admin API. | ||
|
||
1. Click **Get User** on the left. | ||
2. Enter the PayID you want to look up. | ||
3. Select either **cURL** or **JavaScript**. | ||
4. Click **Run**. The JSON response provides information about the PayID. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For all of these, I think it would be useful to provide an example of the response. In this case, it would be useful to see the successful return as well as the error case you note below. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
||
|
||
```json | ||
{ | ||
"payId": "starlight$loisrp.sandbox.payid.org", | ||
"addresses": [ | ||
{ | ||
"paymentNetwork": "XRPL", | ||
"environment": "TESTNET", | ||
"details": { | ||
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy" | ||
} | ||
} | ||
], | ||
"verifiedAddresses": [] | ||
} | ||
``` | ||
|
||
```` | ||
|
||
If you enter a nonexistent PayID, you get the response `"Failed to find the PayID <NONEXISTENT_PAYID_VALUE>"`. | ||
|
||
## Replace User | ||
|
||
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. | ||
|
||
1. Click **Replace User** on the left. | ||
2. Enter the PayID you want to rename, and the new PayID. In this example, `starlight` is replaced with `moonlight`. | ||
3. Enter the address information as if you were creating a user. | ||
4. Select either **cURL** or **JavaScript**. | ||
5. Click **Run**. | ||
```json | ||
{ | ||
"payId": "moonlight$loisrp.sandbox.payid.org", | ||
"addresses": [ | ||
{ | ||
"paymentNetwork": "XRPL", | ||
"environment": "TESTNET", | ||
"details": { | ||
"address": "rUAuauaXNTskaHdsz1TWnHWvB8goNXQaVy" | ||
} | ||
} | ||
], | ||
"verifiedAddresses": [] | ||
} | ||
```` | ||
|
||
The new PayID information is returned in JSON format. | ||
|
||
## Delete a User | ||
|
||
1. Click **Delete User** on the left. | ||
2. Enter the PayID you want to delete. | ||
3. Select either **cURL** or **JavaScript**. | ||
4. Click **Run**. The PayID is returned. | ||
`"moonlight$loisrp.sandbox.payid.org"` | ||
|
||
The PayID you have deleted is returned in the response. Even if the PayID did not exist, you will get the same response. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
--- | ||
id: payid-use-cases | ||
title: PayID Use Cases | ||
sidebar_label: PayID Use Cases | ||
--- | ||
|
||
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. | ||
|
||
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. | ||
|
||
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: | ||
|
||
- Create a PayID with a mobile phone | ||
- Create QR codes that represent a PayID | ||
- Game key marketplace | ||
- International money transfers | ||
- International payments for work | ||
- Wallet that performs cross-chain transfers directly to a PayID | ||
- Central gateway to send and receive crypto and fiat payments | ||
- A physical store of value on a card | ||
|
||
## Wallets and exchanges | ||
|
||
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: | ||
|
||
- Wallet to wallet | ||
- Exchange to exchange | ||
- Exchange to wallet | ||
- Wallet to exchange | ||
|
||
## Building with PayID | ||
|
||
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. | ||
|
||
A harder question is: Where can PayID be used where it's not an obvious option? | ||
|
||
## Tutorials based on PayID use cases | ||
|
||
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. | ||
|
||
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. | ||
|
||
A simple tutorial could show the following: | ||
|
||
- Use a Payburner wallet (or maybe look at incorporating a workflow on creating a walllet) and load it with a few XRP. | ||
- Create a different wallet, or another Payburner wallet. | ||
- Create a PayID (signed) for each wallet. | ||
- Use one wallet to pay the other. | ||
- Use Get Payment Information, and Get User. | ||
- For bonus points, use RippleX Dev Kit. | ||
|
||
A related tutorial could show transfers between different networks (so maybe two different types of wallets?). | ||
|
||
As new features come into play, then we have more options. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
--- | ||
id: welcome-to-payid | ||
title: Welcome to PayID | ||
sidebar_label: Welcome to PayID | ||
id: what-is-payid | ||
title: What is PayID? | ||
sidebar_label: What is PayID? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Out of scope of this PR but it would be great to tweak the text in this section to directly answer this question in the first sentence, e.g. "PayID is..." That will take a little more work, though. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did a bit on this. |
||
--- | ||
|
||
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`. | ||
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`. | ||
|
||
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. | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not for this PR, but in the future would be great to see a link to another resource about wallets or how to generate the addresses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On its way!