<p>The main benefit of the <a href="https://en.bitcoin.it/wiki/Payment_Request" rel="nofollow noreferrer">Bitcoin Payment Protocol</a> (seen in <a href="https://en.bitcoin.it/wiki/BIP_0070" rel="nofollow noreferrer">BIP 070</a>)  is to provide for a better customer experience and better security against man-in-the-middle attacks on the payment process.</p>

<p>See this <a href="https://bitcointalk.org/index.php?topic=300809.msg3225143#msg3225143" rel="nofollow noreferrer">BitcoinTalk announcment</a> and information from <a href="https://bitcoinfoundation.org/blog/?p=290" rel="nofollow noreferrer">the Bitcoin Foundation</a>.  The code for this is located in the <a href="https://github.com/bitcoin/bitcoin/blob/master/src/qt/paymentserver.cpp" rel="nofollow noreferrer">PaymentServer.cpp</a> file</p>

<blockquote>
  <p>How are Root CAs selected?</p>
</blockquote>

<p>Root CAs are selected from <a href="http://www.mozilla.org/projects/security/certs/included/" rel="nofollow noreferrer">this Mozilla root CA list.</a>  Although I haven't seen anything to verify this, but I hope there is a way to account for Certificate "extended key usage" in the PKI hierarchy. </p>

<blockquote>
  <p>What does the request process look like?</p>
</blockquote>

<p>No GUI screenshot of this process is available (yet), but a workflow of the process looks like this: </p>

<p><img src="https://i.sstatic.net/4gu5B.png" alt="enter image description here"></p>

CC BY-SA 3.0
2014-02-19T21:26:05.430Z
Can you give an example bitcoin: url?
opengrid
CC BY-SA 3.0
2013-10-29T21:11:50.633Z
2013-10-30T00:18:55.833Z
2013-10-30T00:18:55.833Z
makerofthings7
<p>I'm looking for an overview and requirements on how this will work... including</p>

<ul>
<li><p>Root CA selection (across the platforms)</p></li>
<li><p>What does the request look like?</p></li>
<li><p>How does the payment "flow" look like?</p></li>
</ul>

<bitcoin-core><payment><bip70-payment-protocol>
How will X509-validated payments request work? (AKA "The Payment Protocol")
makerofthings7
# How will X509-validated payments request work? (AKA "The Payment Protocol")

(Asked by: username_0 on 2013-10-29)

I'm looking for an overview and requirements on how this will work... including

* Root CA selection (across the platforms)
* What does the request look like?
* How does the payment "flow" look like?

**Tags:** bitcoin-core, payment, bip70-payment-protocol


---

## 1 answers

### Answer by username_0 on 2013-10-29. Score: 1

The main benefit of the [Bitcoin Payment Protocol](https://en.bitcoin.it/wiki/Payment_Request) (seen in [BIP 070](https://en.bitcoin.it/wiki/BIP_0070)) is to provide for a better customer experience and better security against man-in-the-middle attacks on the payment process.

See this [BitcoinTalk announcment](https://bitcointalk.org/index.php?topic=300809.msg3225143#msg3225143) and information from [the Bitcoin Foundation](https://bitcoinfoundation.org/blog/?p=290). The code for this is located in the [PaymentServer.cpp](https://github.com/bitcoin/bitcoin/blob/master/src/qt/paymentserver.cpp) file

> How are Root CAs selected?

Root CAs are selected from [this Mozilla root CA list.](http://www.mozilla.org/projects/security/certs/included/) Although I haven't seen anything to verify this, but I hope there is a way to account for Certificate "extended key usage" in the PKI hierarchy.

> What does the request process look like?

No GUI screenshot of this process is available (yet), but a workflow of the process looks like this:

![enter image description here](https://i.sstatic.net/4gu5B.png)

> **Comments:**
> **username_1**: Can you give an example bitcoin: url?  

---

