- From: Marcos Cáceres <notifications@github.com>
- Date: Wed, 22 Feb 2017 18:02:35 -0800
- To: w3c/browser-payment-api <browser-payment-api@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/browser-payment-api/pull/426/review/23378719@github.com>
marcoscaceres requested changes on this pull request. > @@ -301,6 +300,7 @@ </p> <pre class="example" title="The 'details' argument"> const details = { + paymentRequestID: "1234567890123", s/paymentRequestID/paymentRequestId > @@ -1014,6 +1014,7 @@ </h2> <pre class="idl"> dictionary PaymentDetails { + DOMString paymentRequestID; s/paymentRequestID/paymentRequestId/g > @@ -1033,6 +1034,17 @@ </p> <dl> <dt> + <dfn>paymentRequestID</dfn> s/paymentRequestID/paymentRequestId > @@ -1033,6 +1034,17 @@ </p> <dl> <dt> + <dfn>paymentRequestId</dfn> + </dt> + <dd> + <a>paymentRequestId</a> is a freeform identifier for this + payment request. This field is intended to hold a unique Re: "intended", as it reads, it could be confused that the browser is supposed to use it for error recovery. I would remove the second sentence. > @@ -1033,6 +1034,17 @@ </p> <dl> <dt> + <dfn>paymentRequestId</dfn> + </dt> + <dd> + <a>paymentRequestId</a> is a freeform identifier for this + payment request. This field is intended to hold a unique + identifier for the purposes of recovering from failures and/or as a + foreign key into other systems. If a <a>paymentRequestId</a> + is not provided by the client then a UUID will be generated and stored The third sentence should be a non-normative note. Also, there is no requirement that this shall be a UUID in the payment request constructor. > @@ -204,7 +204,6 @@ Promise<void> abort(); Promise<boolean> canMakePayment(); - readonly attribute DOMString? paymentRequestId; Did you delete this by accident from the interface? > @@ -204,7 +204,6 @@ Promise<void> abort(); Promise<boolean> canMakePayment(); - readonly attribute DOMString? paymentRequestId; Also, the constructor algorithm doesn't ever set this to null - so maybe it should not be nullable. It's also unclear what happens if paymentRequestId is set to just "" (the empty string). Should setting it to `null` be treated as a special case (i.e., treat null as undefined instead of being converted to the word "null")? > @@ -460,6 +457,9 @@ </ol> </li> <li>Let <var>serializedModifierData</var> be an empty list. + <li>If <var>details.paymentRequestId</var> was not provided during + construction, populate the field with an [[RFC4122]] UUID. Oh, I see. I don't think we have consensus to make this a hard requirement. Also, avoid modifying the incoming data, create a new variable instead. > @@ -460,6 +457,9 @@ </ol> </li> <li>Let <var>serializedModifierData</var> be an empty list. + <li>If <var>details.paymentRequestId</var> was not provided during + construction, populate the field with an [[RFC4122]] UUID. Drafting some alternative text... > @@ -333,9 +333,6 @@ The <a>PaymentRequest</a> constructor MUST act as follows: </p> <ol data-link-for="PaymentDetails" class="algorithm"> - <li>If a <code>paymentRequestId</code> was not provided during Here, I think we want this instead: ```HTML <li>Establish the request's id: <ol> <li>Let <var>requestId</var> be the empty string. </li> <li>If <var>details.paymentRequestId</var> is present, set <var> requestId</var> to the value of <var>details.paymentRequestId</var>. Otherwise, generate a string to uniquely identify this payment request and set <var>requestId</var> to that value. It is RECOMMENDED that the generated string be a <abbr title= "Universally Unique Identifier">UUID</abbr> as per [[!RFC4122]]. </li> </ol> </li> ``` Then, after the object is actually constructed: ```HTML <li>Set <var>request</var>.<a>paymentRequestId</a> to <var>requestId</var>. ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/browser-payment-api/pull/426#pullrequestreview-23378719
Received on Thursday, 23 February 2017 02:03:37 UTC