Verified Commit 3addc6a2 authored by erciccione's avatar erciccione
Browse files

New simplified 'Accepting' page

Removed all references to payment IDs and changed all the text.
Now this page is meant to be for non-technical people looking
for info about how to receive Monero with the CLI and GUI wallets.
parent 1f65327f
...@@ -228,32 +228,55 @@ press-kit: ...@@ -228,32 +228,55 @@ press-kit:
accepting: accepting:
translated: "yes" translated: "yes"
title: Instructions for the Command-Line Interface title_gui: Instructions for the GUI
basics: The Basics gui1: "Accepting a payment with the GUI is very easy. Doesn't matter if you are a merchant or an user, you will have two pages available: Receive and Merchants."
basics_para1: Monero works a little differently to what you may have become accustomed to from other @cryptocurrencies. In the case of a digital currency like Bitcoin and its many derivatives merchant payment systems will usually create a new recipient @address for each payment or user. gui2: The receive page (shown below) is explained in every detail
basics_para2: However, because Monero has @stealth-addresses there is no need to have separate recipient addresses for each payment or user, and a single @account address can be published. Instead, when receiving payments a merchant will provide the person paying with a "payment ID". guilinkguide: in the guide of the GUI.
basics_para3: "A @payment-ID is a hexadecimal string that is 64 characters long, and is normally randomly created by the merchant. An example of a payment ID is:" guiinstructions: >
checking: Checking for a Payment in monero-wallet-cli To receive XMR you only need to provide the payer with an @address where they can send funds to. Most of the time it's easier to just share a QR code and let the payer scan it, instead of copy-pasting the alphanumeric string.
checking_para1: | With the GUI every generated address come with its QR code. Make the person scan the QR code with the Monero @wallet on their phone and receive your XMR in minutes.
If you want to check for a payment using monero-wallet-cli you can use the "payments" command followed by the payment ID or payment IDs you want to check. For example: Remember you can generate as many addresses (subaddresses) as you want. This is useful if you want to keep funds separated for any reason.
checking_para2: If you need to check for payments programmatically, then details follow the next section. guimerchant: Merchants will probably find more convenient to use the 'Merchant' page (screenshot below), which is explained in detail in the 'Merchant view' section of
receiving: Receiving a Payment Step-by-Step guilinkguide1: the guide linked above
receiving_list1: Generate a random 64 character hexadecimal string for the payment guimerchant1: >
receiving_list2: Communicate the payment ID and Monero address to the individual who is making payment This is a POS-like page that merchant can easily use to set the amount of XMR to receive. If the 'Sale tracker' option is enabled,
receiving_list3: Check for the payment using the "payments" command in monero-wallet-cli you will see the payments while they arrive in real time in your wallet, along with the number of confirmations.
program: Checking for a Payment Programmatically guisteps: "These two pages give everybody the possibility to easily receive XMR following these steps:"
program_para1: In order to check for a payment programmatically you can use the get_payments or get_bulk_payments JSON RPC API calls. guiol: "Go to the 'Receive' page and create/select the address where you want to receive your coins."
program_para2: this requires a payment_id parameter with a single payment ID. guiol1: Share the address composed by letters and numbers to the person you want to receive coins from. You probably prefer to use the more user friendly QR code.
program_para3: this is the preferred method, and requires two parameters, payment_ids - a JSON array of payment IDs - and an optional min_block_height - the block height to scan from. guiol2: "If you want to specify the amount to receive, got to the 'Merchant' page (after you selected in the 'Receive' page the @account that will be used to receive XMR)."
program_para4: | guiol3: "Insert the amount to receive, then share with the payer the payment URL or the QR code. If you want to track the payment in real time, tick the 'enable sales tracker' option."
An example of returned data is as follows: guiol4: Wait until the payment is arrived and has enough confirmations (The more confirmations, the safer the transaction is. You need at least 10 confirmations before you can spend the funds.).
program_para5: It is important to note that the amounts returned are in base Monero units and not in the display units normally used in end-user applications. Also, since a transaction will typically have multiple outputs that add up to the total required for the payment, the amounts should be grouped by the tx_hash or the payment_id and added together. Additionally, as multiple outputs can have the same amount, it is imperative not to try and filter out the returned data from a single get_bulk_payments call. cliinstructions: Instructions for the CLI
program_para6: Before scanning for payments it is useful to check against the daemon RPC API (the get_info RPC call) to see if additional blocks have been received. Typically you would want to then scan only from that received block on by specifying it as the min_block_height to get_bulk_payments. clicreatewallet: >
scanning: Programatically Scanning for Payments When you create your wallet for the first time, an @address will be automatically shown to you. That's your primary address.
scanning_list1: Get the current block height from the daemon, only proceed if it has increased since our last scan If you want, you can simply use that address to receive payments. You should be concerned about who knows about this address (since one address in different locations can be associated),
scanning_list2: Call the get_bulk_payments RPC API call with our last scanned height and the list of all payment IDs in our system but you do not need to worry about blockchain observers watching transactions to this address like with Bitcoin. A friend can send transactions to the same address without reduced privacy.
scanning_list3: Store the current block height as our last scanned height cliaccounts: >
scanning_list4: Remove duplicates based on transaction hashes we have already received and processed You can have much more control if you want to. Monero gives the possibility to create multiple accounts, each containing multiple subaddresses,
useful if you want to control multiple accounts. For example, you may want to have an @account for receiving donations and another one for your daily use.
That will allow you to easily monitor incoming funds to your 'donations' account, without mixing it with your primary account.
clicreateaccount: "To create an account, simply run this command:"
clicreateaccount1: Now you have another account separated from your primary one. You can switch anytime between accounts.
cliindex: >
As you can see from the picture above, every account has an index number that you can use to switch from one account to the other using the command
`account switch [index]`. For example, using the picture above as reference, if you would like to switch to the 'Donations' account to monitor it,
you can do so by giving your CLI this command `account switch 1`. Now you are sitting on your 'Donations' account and you can start using it right away.
cliindex1: >
Every account can host a virtually infinite amount of subaddresses. These work exactly like a normal address and you can create as many
as you want and use them to receive XMR to the account they are linked to. To create a new subaddress for an account, use the command:
clinotes: >
Note that the instructions below are just the minimal necessary to create and use accounts/subaddresses.
The CLI offer more capillary ways to handle accounts and the wallet in general. Use the command 'help' to list all the available options.
merchantstitle: Instructions for merchants
merchantsreceive: If you are a business and you wish to programmatically receive @transactions or use advanced features like multisignature, it's suggested to consult the
merchdevguides: developer guides
merchantsreceive1: "If you need support, the community will always be happy to help. Come chat on #monero, the chatroom is on Freenode, but also relayed on MatterMost and Matrix."
merchantsint: "If you prefer to not directly deal with the wallets, you can use a third party payment system. Members of the monero community has created a set of integrations for various platform and languages. You can find more info on"
merchantsintlink: the GitHub organization
merchantsthirdp: If you are looking for other third party integration system, there is a list of payment gateways on
merchthirdlink: the merchant page
merchantsthirdp1: Some of those offer nice features like the possibility to automatically convert part of your income in fiat money or to accept other cryptocurrencies along with Monero.
contributing: contributing:
translated: "yes" translated: "yes"
...@@ -992,6 +992,10 @@ h1, h2, h3, h4, h5, h6, p {margin: 0; padding: 0;} ...@@ -992,6 +992,10 @@ h1, h2, h3, h4, h5, h6, p {margin: 0; padding: 0;}
img, video {max-width: 100%;} img, video {max-width: 100%;} {
margin-top: 1.2rem;
::-webkit-input-placeholder { ::-webkit-input-placeholder {
color: #AAA; color: #AAA;
} }
...@@ -6,77 +6,42 @@ permalink: /get-started/accepting/index.html ...@@ -6,77 +6,42 @@ permalink: /get-started/accepting/index.html
{% t global.lang_tag %} {% t global.lang_tag %}
<section class="container"> <section class="container">
<div class="row"> <div class="row">
<!-- left two-thirds block-->
<div class="full"> <div class="full">
<div class="info-block text-adapt"> <div class="info-block text-adapt">
<div class="row center-xs"> <h3>{% t accepting.title_gui %}</h3>
<div class="col"> <p>{% t accepting.gui1 %}</p>
<h2>{% t accepting.title %}</h2> <p>{% t accepting.gui2 %} <a href="">{% t accepting.guilinkguide %}</a></p>
</div> <img class="top-margin" src="/img/receive.png" alt="receive page">
</div> <p>{% t accepting.guiinstructions %}</p>
<div> <p>{% t accepting.guimerchant %} <a href="">{% t accepting.guilinkguide1 %}</a>.</p>
<h3>{% t accepting.basics %}</h3> <img class="top-margin" src="/img/merchant_page.png" alt="merchant view">
<p>{% t accepting.basics_para1 %}</p> <p>{% t accepting.guimerchant1 %}</p>
<p>{% t accepting.basics_para2 %}</p> <p>{% t accepting.guisteps %}</p>
<p>{% t accepting.basics_para3 %}</p> <ol>
<div class="highlighter-rouge"> <li>{% t accepting.guiol %}</li>
<div class="highlight"> <li>{% t accepting.guiol1 %}</li>
<pre class="highlight"><code>666c75666679706f6e7920697320746865206265737420706f6e792065766572</code></pre> <li>{% t accepting.guiol2 %}</li>
</div> <li>{% t accepting.guiol3 %}</li>
</div> <li>{% t accepting.guiol4 %}</li>
<h3>{% t accepting.checking %}</h3> </ol>
<p>{% t accepting.checking_para1 %}</p> <h3>{% t accepting.cliinstructions %}</h3>
<div class="highlighter-rouge"> <p>{% t accepting.clicreatewallet %}</p>
<div class="highlight"> <p>{% t accepting.cliaccounts %}</p>
<pre class="highlight"><code>[wallet 49VNLa]: payments 666c75666679706f6e7920697320746865206265737420706f6e792065766572 <p>{% t accepting.clicreateaccount %}</p>
payment transaction height amount unlock time <p><code>account new [label text with white spaces allowed]</code></p>
666c75666679706f6e79206973207 7ba4cd810c9b4096869849458181e98e 441942 30.00000 0 <p>{% t accepting.clicreateaccount1 %}</p>
[wallet 49VNLa]: █</code></pre> <img class="top-margin" src="/img/account_cli.png" alt="accounts">
</div> <p>{% t accepting.cliindex %}</p>
</div> <img class="top-margin" src="/img/account_switch.png" alt="accounts switch">
<p>{% t accepting.checking_para2 %}</p> <p>{% t accepting.cliindex1 %}</p>
<h3>{% t accepting.receiving %}</h3> <p><code>address new [label text with white spaces allowed]</code></p>
<ul> <p><i>{% t accepting.clinotes %}</i></p>
<li>{% t accepting.receiving_list1 %}</li> <h3>{% t accepting.merchantstitle %}</h3>
<li>{% t accepting.receiving_list2 %}</li> <p>{% t accepting.merchantsreceive %} <a href="{{ site.baseurl }}/resources/developer-guides/">{% t accepting.merchdevguides %}</a>. {% t accepting.merchantsreceive1 %}</p>
<li>{% t accepting.receiving_list3 %}</li> <p>{% t accepting.merchantsint %} <a href="">{% t accepting.merchantsintlink %}</a>.</p>
</ul> <p>{% t accepting.merchantsthirdp %} <a href="{{ site.baseurl }}/community/merchants/">{% t accepting.merchthirdlink %}</a>. {% t accepting.merchantsthirdp1 %}</p>
<h3 id="checking-for-a-payment-programmatically">{% t accepting.program %}</h3> </div>
<p>{% t accepting.program_para1 %}</p>
<p><em>get_payments</em>: {% t accepting.program_para2 %}</p>
<p><em>get_bulk_payments</em>: {% t accepting.program_para3 %}</p>
<p>{% t accepting.program_para4 %}</p>
<div class="highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>[ monero-&gt;~ ]$ curl -X POST -d '{"jsonrpc":"2.0","method":"get_bulk_payments","id":"test", "params":{"payment_ids": ["666c75666679706f6e7920697320746865206265737420706f6e792065766572"]}}' -H "Content-Type: application/json"
"id": "test",
"jsonrpc": "2.0",
"result": {
"payments": [{
"amount": 30000000000000,
"block_height": 441942,
"payment_id": "666c75666679706f6e7920697320746865206265737420706f6e792065766572",
"tx_hash": "7ba4cd810c9b4096869849458181e98e18b6474ab66415de0f4ccf7ab1162fdf",
"unlock_time": 0
<p>{% t accepting.program_para5 %}</p>
<p>{% t accepting.program_para6 %}</p>
<h3 id="programatically-scanning-for-payments">{% t accepting.scanning %}</h3>
<li>{% t accepting.scanning_list1 %}</li>
<li>{% t accepting.scanning_list2 %}</li>
<li>{% t accepting.scanning_list3 %}</li>
<li>{% t accepting.scanning_list4 %}</li>
</div> </div>
<!-- end right one-third block-->
</div> </div>
</section> </section>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment