Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Drop PaymentAddress, shipping + billing address support (#955)" #996

Open
wants to merge 18 commits into
base: gh-pages
Choose a base branch
from

Conversation

marcoscaceres
Copy link
Member

@marcoscaceres marcoscaceres commented Sep 20, 2022

This reverts commit 486c07a.

Bringing back addresses so we can continue to figure out a path forward (given it's now a interop issue)

closes #???

Blocked on:

The following tasks have been completed:

Implementation commitment:

Optional, impact on Payment Handler spec?


Preview | Diff

@marcoscaceres marcoscaceres force-pushed the bring_back_addresses branch 2 times, most recently from 4027a43 to 7bdd13c Compare September 21, 2022 00:15
@ianbjacobs
Copy link
Collaborator

Hi @marcoscaceres,

From recent discussion [1] the expectation is to bring these back as deprecated features. Please don't merge as-is; could you suggest some deprecation text? (Or I can work with you on this next week.)

Ian

[1] https://www.w3.org/2022/09/13-wpwg-minutes.html#t01

@marcoscaceres
Copy link
Member Author

Sorry, I wasn't in the discussion at the F2F, but I don't agree they would be deprecated (we still expect shipping addresses to work, right? users/merchant still ship physical good and the API doesn't provide any other alternatives that would deprecate this feature). I think we should get this back into the spec and then actively work to address the privacy concerns.

@stephenmcgruer
Copy link
Collaborator

Sorry, I wasn't in the discussion at the F2F, but I don't agree they would be deprecated (we still expect shipping addresses to work, right? users/merchant still ship physical good and the API doesn't provide any other alternatives that would deprecate this feature). I think we should get this back into the spec and then actively work to address the privacy concerns.

From the Chrome side, we aren't too bothered by what form the spec text takes (i.e. an addendum, a note, marked deprecated or not), but we are aligned in wanting it back in some form as it is shipping and used today.

We are still investigating on our side to what extent it is used by web developers, and how feasible a deprecation + removal process would be. Hope to have results by end of year on that.

@marcoscaceres
Copy link
Member Author

I'm still at a loss about the deprecation (or designation) without an alternative format for shipping addressed? is there a real incentive to remove shipping address support for some reason? (maybe I missed the memo?)

@ianbjacobs
Copy link
Collaborator

@marcoscaceres, we went through a process to remove the feature. I do not think we should simply re-introduce it. I look forward to discussing as soon as next week.

@marcoscaceres
Copy link
Member Author

I'm happy to add a note saying we will work towards addressing the privacy issues. That should get us back to where we were and allows us to continue involving the feature while also managing any compatibility issues.

@marcoscaceres
Copy link
Member Author

Doing more investigation, I just remembered that PaymentAddress became ContactAddress in the Contact Picker API, so we can drop the whole Physical Addresses section.

The privacy issues remain, but issues with physical addresses are now the concern of Contact Picker API, which, at least procedurally much easier.

@ianbjacobs
Copy link
Collaborator

@marcoscaceres wrote: "I'm happy to add a note saying we will work towards addressing the privacy issues. "

Would something like this work?

The Web Payments Working Group removed support for shipping and billing addresses from the original version of Payment Request API due to privacy issues; see issue 842. In order to provide documentation for implementations that continue to support this capability, the Working Group is now restoring the feature with an expectation of addressing privacy issues. In doing so the Working Group may also make changes to Payment Request API based on the evolution of other APIs (e.g., the Content Picker API).

@marcoscaceres
Copy link
Member Author

Yes, something like that would work.

@marcoscaceres
Copy link
Member Author

Added blockers in the OP.

@dmengelt
Copy link

dmengelt commented Jun 5, 2023

Hi all. How can we proceed with this PR?

@rsolomakhin
Copy link
Collaborator

@stephenmcgruer wrote:

We are still investigating on our side to what extent it is used by web developers, and how feasible a deprecation + removal process would be. Hope to have results by end of year on that.

Our investigations show that a significant portion of web developers are using shipping and contact info, so we are still in favor of bringing this back.

@ianbjacobs
Copy link
Collaborator

Hi all,
I've started a conversation internally to understand how we can proceed with this and other pull requests.

@marcoscaceres
Copy link
Member Author

Brought back the tests web-platform-tests/wpt#44409

@marcoscaceres
Copy link
Member Author

@rsolomakhin, @stephenmcgruer, we might consider some kind of transitional strategy amongst ourselves to check how much potential web compat breakage there could be from switching PaymentAddress to ContactAddress... I don't imagine there will be much, but it's likely we will break at least someone.

@marcoscaceres
Copy link
Member Author

Blocked on #1021

display this option by default in the user interface.
</dd>
</dl>
</section>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -1989,6 +2505,35 @@ <h2>
</li>
<li>If |errorFields:PaymentValidationErrors| was passed:
<ol>
<li>Optionally, show a warning in the developer console if any of
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DOMString error;
object paymentMethod;
};
</pre>
<dl>
<dt>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<dfn>details</dfn> attribute
</h2>
<p>
<section data-dfn-for="PayerErrors">
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

index.html Outdated Show resolved Hide resolved
@@ -2136,6 +2753,66 @@ <h2>
</p>
</aside>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[=shipping address=] chosen by the user.
</p>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

option.
</p>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

user.
</p>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

by the user.
</p>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -2257,6 +2934,14 @@ <h2>
</li>
</ol>
</section>
<section data-dfn-for="PaymentResponse">
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

</pre>
<p>
The members of the {{AddressErrors}} dictionary represent validation
errors with specific parts of a <a>physical address</a>. Each
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
errors with specific parts of a <a>physical address</a>. Each
errors with specific parts of a [=physical address=]. Each

<dfn>addressLine</dfn> member
</dt>
<dd>
Denotes that the <a>address line</a> has a validation error. In the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>address line</a> has a validation error. In the
Denotes that the [=physical address/address line=] has a validation error. In the

<dfn>city</dfn> member
</dt>
<dd>
Denotes that the <a>city</a> has a validation error. In the user
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>city</a> has a validation error. In the user
Denotes that the [=physical address/city=] has a validation error. In the user

<dfn>country</dfn> member
</dt>
<dd>
Denotes that the <a>country</a> has a validation error. In the user
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>country</a> has a validation error. In the user
Denotes that the [=physical address/country=] has a validation error. In the user

<dfn>dependentLocality</dfn> member
</dt>
<dd>
Denotes that the <a>dependent locality</a> has a validation error.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>dependent locality</a> has a validation error.
Denotes that the [=physical address/dependent locality=] has a validation error.

<dfn>organization</dfn> member
</dt>
<dd>
Denotes that the <a>organization</a> has a validation error. In the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>organization</a> has a validation error. In the
Denotes that the [=physical address/organization=] has a validation error. In the

<dfn>phone</dfn> member
</dt>
<dd>
Denotes that the <a>phone number</a> has a validation error. In the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>phone number</a> has a validation error. In the
Denotes that the [=physical address/phone number=] has a validation error. In the

<dfn>postalCode</dfn> member
</dt>
<dd>
Denotes that the <a>postal code</a> has a validation error. In the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>postal code</a> has a validation error. In the
Denotes that the [=physical address/postal code=] has a validation error. In the

<dfn>recipient</dfn> member
</dt>
<dd>
Denotes that the <a>recipient</a> has a validation error. In the
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>recipient</a> has a validation error. In the
Denotes that the [=physical address/recipient=] has a validation error. In the

<dfn>region</dfn> member
</dt>
<dd>
Denotes that the <a>region</a> has a validation error. In the user
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Denotes that the <a>region</a> has a validation error. In the user
Denotes that the [=physical address/region=] has a validation error. In the user

<dfn>sortingCode</dfn> member
</dt>
<dd>
The <a>sorting code</a> has a validation error. In the user agent's
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The <a>sorting code</a> has a validation error. In the user agent's
The [=physical address/sorting code=] has a validation error. In the user agent's

<p>
The steps to <dfn data-export="">create a `ContactAddress` from
user-provided input</dfn> are given by the following algorithm. The
algorithm takes a <a>list</a> |redactList|.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
algorithm takes a <a>list</a> |redactList|.
algorithm takes a [=list=] |redactList:list|.

are so fine-grained that they can uniquely identify a recipient.
</p>
</div>
<ol>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<ol>
<ol class="algorithm">

<li>Let |details:AddressInit| be a newly created {{AddressInit}}
dictionary.
</li>
<li>If "addressLine" is not in |redactList|, set
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make this into a switch statement off each redactList value, and pop as you go... weeeee

</dd>
</dl>
</section>
<section>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider moving all this to the other spec...

@@ -2350,6 +3379,49 @@ <h2>
Target
</th>
</tr>
<tr>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -2481,13 +3553,50 @@ <h2>
changes made by the end user through the UI), developers need to
immediately call {{PaymentRequestUpdateEvent/updateWith()}}.
</p>
<pre class="example js" title=
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +3789 to +3790
steps to <a>create a `ContactAddress` from user-provided
input</a> with |redactList|.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
steps to <a>create a `ContactAddress` from user-provided
input</a> with |redactList|.
steps to [=create a `ContactAddress` from user-provided
input=] with |redactList|.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants