Published on: 2014-02-03T21:25:53+00:00
In the context of implementing BIP70 for payment protocol in face-to-face or real-time scenarios, Christophe Biocca addresses the limitations of HTTP when it comes to sending messages such as "Cancel Payment Request" from merchants to customers. He explains that over HTTP, merchants cannot reach the customer's bitcoin wallet directly, making it impossible to send a cancellation request. Additionally, a "Reject Payment Request" is useless if the customer does not want to send the payment. To solve the issue of invalid payments, Biocca suggests that either the merchant refunds the money or the customer contacts the merchant with a signed request for fund return.Tim Tuxworth further discusses the need for a "Cancel Payment Request" and suggests that a "Reject Payment Request" may also be required in certain business scenarios. Examples provided include situations where a merchant realizes they charged the wrong amount or sent the payment request to the wrong customer, or when a customer decides to pay using an alternative method like cash or credit/debit. Tuxworth proposes that a single message could be used for both scenarios. The author of the post implemented BIP70 using combinations of QR-code or NFC plus Bluetooth and provides a link to a downloadable working preview app.In an email exchange between Tim Tuxworth and Christophe Biocca, Tuxworth questions whether BIP70 is limited to HTTP only and raises concerns about its applicability in face-to-face scenarios, real-time transactions, and socket/bluetooth connections. Biocca responds by explaining that unsolicited merchant-to-consumer messages do not work on HTTP or many other platforms, making it difficult to add them to the payment protocol. He reiterates that over HTTP, merchants cannot directly access the consumer's bitcoin wallet and sending a cancellation request is not possible. However, if the customer chooses not to send the payment, no action is needed. Biocca suggests that the unhappy path scenario with Payment Requests can be resolved by either the merchant refunding the money or the customer contacting the merchant with a signed request for fund return.To summarize, the implementation of BIP70 for payment protocol faces limitations in cancelling payments, especially in scenarios such as face-to-face transactions and real-time interactions. Over HTTP, merchants cannot reach the customer's bitcoin wallet, making it impossible to send a "Cancel Payment Request." However, if a payment becomes invalid, options include the merchant issuing a refund or the customer providing a signed request to the merchant for fund return. Tim Tuxworth emphasizes the need for a "Cancel Payment Request" message and suggests that a "Reject Payment Request" may also be necessary in various business scenarios. These scenarios include cancelling a request before payment is sent, charging the wrong amount, sending the request to the wrong customer, or using alternative payment methods like cash or credit/debit.
Updated on: 2023-08-01T07:34:03.829394+00:00