monero-site/resources/moneropedia/paymentid.md
QuickBASIC 5d434aa4f7 minor spelling/grammar revisions
* 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
2017-08-26 13:56:28 -04:00

26 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```