mirror of
https://github.com/bitcoin/bips.git
synced 2025-02-24 15:36:53 +01:00
64 lines
2.1 KiB
Text
64 lines
2.1 KiB
Text
|
{{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]]
|