Payment Protocol Proposal: Invoices/Payments/Receipts



Summary:

The Protocol Buffers specification has been updated, with a few changes. Firstly, version numbers have been added to the messages. A bitcoin client getting Invoice messages via email or from a web server will now need to specify the version as part of the MIME type. This is part of the MIME standard and ensures that the client knows what version it is expecting before parsing it. As part of this change, an invoice_version field has been added to the SignedInvoice message.Secondly, the spec has been amended to handle errors communicating with the receiptURI server. Clients are free to handle these errors however they like, but should assume that if they cannot communicate at all with the server, then the payment should either be retried later or immediately rejected. The Bitcoin client must also be prepared to handle the case of an evil merchant that returns accepted=false but broadcasts the transactions anyway.Finally, a TODO section has been added with base64-encoded examples of everything for Test Vectors.


Updated on: 2023-06-06T08:31:54.759880+00:00