Re: [w3c/payment-method-basic-card] Define processing model (#39)

sideshowbarker commented on this pull request.



> -      <p class="note">
-        The <a>supportedNetworks</a> and <a>supportedTypes</a> members are both
-        optional. If neither is provided then any card may be returned. If only
-        <a>supportedNetworks</a> is provided then any card type may be returned
-        provided it matches one of the networks. If only <a>supportedTypes</a>
-        is provided then a card may be returned from any network provided it
-        matches one of the types.
+    </section>
+    <section data-link-for="BasicCardRequest">
+      <h2>
+        Interfacing with a payment handler
+      </h2>
+      <p>
+        The <dfn>steps to constrain a payment handler</dfn> with
+        <var>data</var> <a>BasicCardRequest</a> are given by the following
+        algorithm. If the end-user inputs or selects a <a>card</a> that meets

        algorithm. If the end-user inputs or selects a <a>card</a> that meets

“end-user” doesn’t need a hyphen; should just be “end user”


>        </p>
+      <ol class="algorithm">
+        <li>Let <var>cardNetworks</var> be the result of filtering
+        <var>data</var>.<a>supportedNetworks</a> for <a>networks</a> that are
+        supported by this payment handler.
+        </li>
+        <li>
+          <p>
+            Let <var>card</var> be the result of the end user selecting or
+            inputing a <a>card</a> of <a>type</a>
+            <var>data</var>.<a>supportedTypes</a>, or any type if
+            <var>data</var>.<a>supportedTypes</a> is empty, and from one of the
+            <a>networks</a> in <var>cardNetworks</var>, or from any network if
+            <var>cardNetworks</var> is empty. User agents SHOULD validate card
+            details to make sure they adhere to the <a>type</a> and
+            <a>network</a> requirements (e.g., checking that "visa" card starts

           <a>network</a> requirements (e.g., checking that "visa" card starts

checking that **a** "visa" card starts


> +            Let <var>card</var> be the result of the end user selecting or
+            inputing a <a>card</a> of <a>type</a>
+            <var>data</var>.<a>supportedTypes</a>, or any type if
+            <var>data</var>.<a>supportedTypes</a> is empty, and from one of the
+            <a>networks</a> in <var>cardNetworks</var>, or from any network if
+            <var>cardNetworks</var> is empty. User agents SHOULD validate card
+            details to make sure they adhere to the <a>type</a> and
+            <a>network</a> requirements (e.g., checking that "visa" card starts
+            with the number "4", etc.).
+          </p>
+          <div class="note" title="Validation of inputs">
+            <p>
+              The validation a user agent performs on the card inputs is a
+              "quality of implementation" detail and outside the scope of this
+              specification. There is nevertheless an expectation that user
+              agents will make a best effort to validate that card number via

              agents will make a best effort to validate that card number via

“validate <s>that</s> **each** card number”


> @@ -241,15 +299,30 @@
         Security and Privacy Considerations
       </h2>
       <p>
+        Due to differences in "quality of implementation", and the end-user's

        Due to differences in "quality of implementation", and the end-user's

I think it’s not necessary to put _quality of implementation_ in quotes here


-- 
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/payment-method-basic-card/pull/39#pullrequestreview-55934393

Received on Saturday, 12 August 2017 03:01:02 UTC