diff --git a/bip-invoicerequest-extension.mediawiki b/bip-invoicerequest-extension.mediawiki index 19cccba1..ad750b13 100644 --- a/bip-invoicerequest-extension.mediawiki +++ b/bip-invoicerequest-extension.mediawiki @@ -32,7 +32,7 @@ to facilitate identification for address release. | Receiver || Entity receiving a value transfer |} -===Acronyms=== +==Acronyms== {| class="wikitable" ! Acronym !! Expanded !! Description |- @@ -41,9 +41,9 @@ to facilitate identification for address release. | RPR || ReturnPaymentRequest || A ReturnPaymentRequest returned based on a submitted InvoiceRequest |} -===New Messages=== +==New Messages== -====InvoiceRequest==== +===InvoiceRequest=== The new InvoiceRequest message allows a requestor to send information to the responder such that they can return a ReturnPaymentRequest.
@@ -68,12 +68,12 @@ message InvoiceRequest { |- | pki_data || Depends on pki_type |- -| notification_url || URL to notify on ReturnPaymentRequest ready +| notification_url || Secure (usually HTTPS) location where a ReturnPaymentRequest (see below) may be sent when ready |- | signature || PKI-dependent signature |} -====ReturnPaymentRequest==== +===ReturnPaymentRequest=== The new ReturnPaymentRequest message is an encapsulating message that allows the transmission of an encrypted, serialized PaymentRequest. @@ -111,12 +111,28 @@ The new ReturnPaymentRequest message is an encapsulating message that allows the # Sender validates ReturnPaymentRequest # Sender decrypts and validates encrypted PaymentRequest +===Message Interaction Details=== + +====InvoiceRequest==== +Sender must transmit InvoiceRequest to Receiver (or Receiver's agent) via TLS-protected HTTP. Sender transmitting InvoiceRequest +messages must set appropriate Content-Type headers as specified here: +Content-Type: application/bitcoin-invoicerequest+ +====ReturnPaymentRequest==== +Receiver must transmit ReturnPaymentRequest to Sender (or Sender's agent) via TLS-protected HTTP. Receiver transmitting +ReturnPaymentRequest messages must set appropritate Content-Type headers as specified here: +Content-Type: application/bitcoin-returnpaymentrequest+ +====Message or Communication Errors==== +An invalid or unparsable message or communications error must be communicated to the party that initiated the communication. This +should be done through standard HTTP Status Code messaging ([https://tools.ietf.org/html/rfc7231 RFC 7231 Section 6]). + ===InvoiceRequest Message Creation=== * Create an InvoiceRequest message -* sender_public_key MUST be set. This is the public key of an EC keypair using secp256k1. -* Set amount if desired -* Set notification_url to URL that Receiver will submit completed ReturnPaymentRequest to +* sender_public_key MUST be set to the public key of an EC keypair. +* Amount is optional +* Set notification_url to URL that the Receiver will submit completed ReturnPaymentRequest to * If NOT including certificate, set pki_type to "none" * If including certificate: ** Set pki_type to "x509+sha256"