- From: adamroach <notifications@github.com>
- Date: Tue, 14 Feb 2017 11:46:27 -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/420/review/21843258@github.com>
adamroach requested changes on this pull request. Thanks! The text looks mostly good, but I think you cut a bit too deep. I'd also like to get on the same page about how to indicate filters in the PaymentRequest object. > + </h2> + <p> + The <dfn data-lt="filter payment options">filter payment options + algorithm</dfn> runs when user agent presents the user with the + collection of payment options available for selection. It MUST run the + following steps: + </p> + <ol> + <li>Let <var>matchingOptions</var> be an empty list.</li> + <li>Let <var>request</var> be the <a>PaymentRequest</a> object that + the user is interacting with. + <li>For each <var>requestMethod</var> in + <var>request</var>.<a>[[\serializedMethodData]]</a>: + <ol type="I"> + <li>Let <var>filters</var> be <var>requestMethod.data</var> + members whose values are lists of strings.</li> Hrm. I thought, after our last discussion on this point, we had reached agreement that this was problematic, in that it precluded payment methods from defining `data` parameters whose values were a list of strings, but which were *not* filters. > + </p> + <ol> + <li>Let <var>matchingOptions</var> be an empty list.</li> + <li>Let <var>request</var> be the <a>PaymentRequest</a> object that + the user is interacting with. + <li>For each <var>requestMethod</var> in + <var>request</var>.<a>[[\serializedMethodData]]</a>: + <ol type="I"> + <li>Let <var>filters</var> be <var>requestMethod.data</var> + members whose values are lists of strings.</li> + <li>For each <var>option</var> of the installed + <a>payment apps</a>: + <ol type="i"> + <li>Let <var>optionMatch</var> be true.</li> + <li>For <var>filterName</var> in the keys of + <var>requestMethod</var>: Shouldn't this be in the keys of `filters` rather than keys of `requestMethod`? > @@ -628,30 +628,21 @@ <li>Return <var>acceptPromise</var> and perform the remaining steps <a>in parallel</a>. </li> - <li>For each <var>paymentMethod</var> in You're removing the part of the current document that deals with `paymentMethod` matching. The algorithm I thumbnailed in [issue 96](https://github.com/w3c/webpayments-payment-apps-api/issues/96) was intended to supplement `paymentMethod` matching rather than replace it. Basically, you need to put the *filter payments options algorithm* into a loop that evaluates it once for each `paymentMethod` in the request, and only those options that match the `paymentMethod` should be evaluated on each iteration. -- 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/420#pullrequestreview-21843258
Received on Tuesday, 14 February 2017 19:47:26 UTC