Difference between revisions of "BIP 0072"

From Bitcoin Wiki
Jump to: navigation, search
(Initial spec)
 
(Allow URIs with no address)
Line 46: Line 46:
 
request parameter and will initiate a payment to bitcoin address.
 
request parameter and will initiate a payment to bitcoin address.
  
==Example==
+
==Examples==
 
+
A backwards-compatible request:
 
<pre>
 
<pre>
 
bitcoin:mq7se9wy2egettFxPbmn99cK8v5AFq55Lx?amount=0.11&request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe
 
bitcoin:mq7se9wy2egettFxPbmn99cK8v5AFq55Lx?amount=0.11&request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe
 
</pre>
 
</pre>
 +
Non-backwards-compatible equivalent:
 +
bitcoin:?request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe
  
 
[[Category:BIP]]
 
[[Category:BIP]]

Revision as of 00:24, 8 August 2013

This page describes a BIP (Bitcoin Improvement Proposal).
Please see BIP 2 for more information about BIPs and creating them. Please do not just create a wiki page.

  BIP: 72
  Title: bitcoin: uri extensions for Payment Protocol
  Author: Gavin Andresen <gavinandresen@gmail.com>
  Status: Draft
  Type: Standards Track
  Created: 29-07-2013

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).

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:

bitcoin:mq7se9wy2egettFxPbmn99cK8v5AFq55Lx?amount=0.11&request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe

Non-backwards-compatible equivalent: bitcoin:?request=https%3A%2F%2Fmerchant.com%2Fpay.php%3Fh%3D2a8628fc2fbe