|
|
(5 intermediate revisions by 3 users not shown) |
Line 5: |
Line 5: |
| Title: bitcoin: uri extensions for Payment Protocol | | Title: bitcoin: uri extensions for Payment Protocol |
| Author: Gavin Andresen <gavinandresen@gmail.com> | | Author: Gavin Andresen <gavinandresen@gmail.com> |
− | Status: Draft | + | Status: Final |
| Type: Standards Track | | Type: Standards Track |
| Created: 29-07-2013 | | Created: 29-07-2013 |
| </pre> | | </pre> |
| | | |
− | ==Abstract==
| + | {{BipMoved|bip-0072.mediawiki}} |
− | | |
− | 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.
| |
− | | |
− | 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:
| |
− | bitcoin:?request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe
| |
| | | |
| [[Category:BIP]] | | [[Category:BIP]] |