From e71e57216b355c414e1452deb0a752e318799c40 Mon Sep 17 00:00:00 2001 From: Matt David Date: Fri, 4 Dec 2015 13:26:50 -0800 Subject: [PATCH] - Fix section levels - Add Message Interaction Details + new mimetypes --- bip-invoicerequest-extension.mediawiki | 32 +++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) 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"