mirror of
https://github.com/monero-project/monero-site.git
synced 2024-12-26 13:39:44 +00:00
5d434aa4f7
* grammar: * a/an * repeated words * fragmented sentences * possesion * run on sentences * commas for prepositional phrases * is/are conjugations * was/were * its/it's * capitalizing proper nouns (Monero, Bitcoin, etc) * formatting (removed linefeeds in middle of sentences) * can not/cannot * removed commas improperly before conjunctions * spelling: * programmatically * hashrate * transferring * scalability * separate * transactions * additionally * particular * profitability * recommended * explicitly * separator * block * drawback * favorite * spelling (br/us) * internationalization * specialized * analyze * centralized * decentalized * memorizing * synchronization * synchronized
25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
---
|
|
layout: moneropedia
|
|
entry: "Payment ID"
|
|
terms: ["payment-ID", "payment-IDs"]
|
|
summary: "an optional flag that is added to identify transactions to merchants, consisting of 64 hexadecimal characters"
|
|
---
|
|
|
|
### The Basics
|
|
|
|
Payment ID is an **arbitrary** and **optional** transaction attachment that consists of 32 bytes (64 hexadecimal characters) or 8 bytes (in the case of integrated addresses).
|
|
|
|
The Payment ID is usually used to identify transactions to merchants and exchanges: Given the intrinsic privacy features built into Monero, where a single public address is usually used for incoming transactions, the Payment ID is especially useful to tie incoming payments with user accounts.
|
|
|
|
### Compact Payment ID's and Integrated Addresses
|
|
|
|
Since the 0.9 Hydrogen Helix version, the Payment IDs can be encrypted and embedded in a payment address. The payment ID's of this type should be 64-bits and are encrypted with a random one-time key known only to the sender and receiver.
|
|
|
|
### Creating a Payment ID
|
|
It is recommended to use the official wallet's `integrated_address` command to automatically generate Integrated Addresses that contain Compact Payment ID's. If you want to use the command line, you can generate Payment ID's as follows:
|
|
|
|
Creating a compact Payment ID for an Integrated Address:
|
|
```# openssl rand -hex 8```
|
|
|
|
Creating an old-style Payment ID:
|
|
```# openssl rand -hex 32```
|