Payments to BitPay merchants just got a lot easier. Today, we are launching support for the Bitcoin Payment Protocol.
The Bitcoin Payment Protocol (as specified in BIPs 70 - 73) eliminates a lot of human error in making a bitcoin payment. A user can just click on a payment link or scan a QR code, and the wallet software offers two simple choices to the user, pay or don't pay. The user no longer has to copy the address and amount into their wallet.
Native Refund Address Support
With the Payment Protocol, the wallet supplies a refund address along with the payment. This eliminates another potential source of error in refund situations. This approach to refunds works on the block chain, with any wallet software, and does not require the buyers to have a BitPay account.
Secure, Signed Payment Requests
The payment protocol supports optional SSL signatures (technically X.509 signatures) on payment requests. This offers certainty to users that they are sending their payment to the intended recipient (all BitPay payment requests are signed). When using a wallet that supports the payment procotol (currently Bitcoin-QT and the Android Bitcoin Wallet), you will immediately notice that your wallet tells you that BitPay is requesting a payment.
User Friendly QR Codes (BIP 73)
BitPay invoices also support BIP-73, which considerably improves the usability of QR codes for Bitcoin payments. BIP-73 reduces the information required to be embedded in a payment request QR code, reducing their density. Less dense QR codes are easier to use in low light situations or from longer distances. These lower density QR codes are also normal HTTP URLs, offering an opportunity to provide additional information and instructions to users of devices that don't already have a wallet installed. BitPay invoices display both the older, backward compatible QR code as well as the newer payment protocol QR code. You can toggle between these two QR codes by clicking or tapping on the QR code in our current invoice.
Direct Payment Communication
Perhaps the most exciting thing about the payment protocol is that it eliminates the need to use the mesh network for communicating a payment from sender to recipient.
The Bitcoin mesh network currently serves two purposes: communicating payments from sender to recipient and communicating payments from originator to miners. By communicating payments directly from sender to recipient, the mesh network can be used exclusively for communicating payments from originator to miners. The network is then free to propagate or ignore transactions without adversely affecting the communications between sender and recipient. This allows for the emergence of a true market in transaction fees. And by reducing the load on the mesh network to just those transactions which are profitable for miners, it improves Bitcoin's scalability.