forked from bitcoin/bips
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Archive Revision as of 01:33, 28 August 2013
- Loading branch information
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
{{bip}} | ||
|
||
<pre> | ||
BIP: 72 | ||
Title: bitcoin: uri extensions for Payment Protocol | ||
Author: Gavin Andresen <gavinandresen@gmail.com> | ||
Status: Draft | ||
Type: Standards Track | ||
Created: 29-07-2013 | ||
</pre> | ||
|
||
==Abstract== | ||
|
||
This BIP describes an extension to the bitcoin: URI scheme (BIP 21) to | ||
support the payment protocol (BIP 70). | ||
|
||
==Motivation== | ||
|
||
Allow users to click on a link in a web page or email to initiate the | ||
payment protocol, while being backwards-compatible with existing | ||
bitcoin wallets. | ||
|
||
==Specification== | ||
|
||
The bitcoin: URI scheme is extended with an additional, optional | ||
"request" parameter, whose value is a URL from which a PaymentRequest | ||
message should be fetched (unsafe and reserved octets in the URL value | ||
must be encoded as described in RFC 1738). | ||
|
||
If the "request" parameter is provided and backwards compatibility | ||
is not required, then the bitcoin address portion of the URI may be | ||
omitted (the URI will be of the form: bitcoin:?request=... ). | ||
|
||
When Bitcoin wallet software that supports this BIP receives a | ||
bitcoin: URI with a request parameter, it should ignore the bitcoin | ||
address/amount/label/message in the URI and instead fetch a | ||
PaymentRequest message and then follow the payment protocol, as | ||
described in BIP 70. | ||
|
||
Bitcoin wallets must support fetching PaymentRequests via http and | ||
https protocols; they may support other protocols. Wallets must | ||
include an Accept HTTP header in HTTP requests: | ||
<pre>Accept: application/bitcoin-paymentrequest</pre> | ||
|
||
If a PaymentRequest cannot be obtained (perhaps the server is | ||
unavailable), then the customer should be informed that the merchant's | ||
payment processing system is unavailable. | ||
|
||
==Compatibility== | ||
|
||
Wallet software that does not support this BIP will simply ignore the | ||
request parameter and will initiate a payment to bitcoin address. | ||
|
||
==Examples== | ||
A backwards-compatible request: | ||
<pre> | ||
bitcoin:mq7se9wy2egettFxPbmn99cK8v5AFq55Lx?amount=0.11&request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe | ||
</pre> | ||
Non-backwards-compatible equivalent: | ||
<pre> | ||
bitcoin:?request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe | ||
</pre> | ||
[[Category:BIP]] |