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

PaymentRequest does not handle the case of store pickup #389

Open
sanjoypal opened this issue Jan 3, 2017 · 16 comments · Fixed by #955
Open

PaymentRequest does not handle the case of store pickup #389

sanjoypal opened this issue Jan 3, 2017 · 16 comments · Fixed by #955

Comments

@sanjoypal
Copy link

As specified in the spec, if requestShipping is true, then shippingType can be "shipping", "delivery", or "pickup". But, in case of store pickup, shipping is not done by the merchant instead customer has to pickup from merchant store. How this scenario will be handled in PaymentRequest?

Example: Some restaurant gives some discount if ordered online, we can pickup the order if we are visiting the restaurant.

@rsolomakhin
Copy link
Collaborator

I don't think the API handles it well at this moment. The "pickup" keyword is for picking up goods from the customer address, not from the merchant. Should we add this new functionality to the API?

@ianbjacobs
Copy link
Collaborator

I had understood that there was support for this within the WG and that the editors were poised to add a value to align with the behavior of the Apple API. See September discussion:
https://www.w3.org/2016/09/19-wpwg-minutes#item06

Ian

@rsolomakhin
Copy link
Collaborator

Looks like our "pickup" matches the "servicePickup" in Apple Pay JS shippingType, but we don't have an equivalent for "storePickup." If we add "storePickup," how should it behave?

@marcoscaceres
Copy link
Member

@zkoch, any thoughts here? Seems like a reasonable addition.

@zkoch
Copy link
Contributor

zkoch commented Mar 2, 2017

The reason we left this out is that it's unclear how shippingOptions should be treated. One answer is that the shippingOptions array becomes a set of possible pickup locations. But for major merchants, this can be a really, really long list and there's no reasonable way for the merchant to filter them since we don't have a way to pass back the users current zip code for example. We could also say that "storePickup" doesn't have shipping option support and the merchant is responsible for showing a list of potential stores after the transaction is finished, but this also feels deficient because...what if the item isn't available after you purchase at the location you want?

@zkoch
Copy link
Contributor

zkoch commented Mar 13, 2017

I'm going to mark this as postponed, as I don't think it will make the cut for CR, but I do think supporting this is easy.

It's as simple as adding a new shippingType of "storePickup". Everything else works the exact same way. The address a user inputs can be used by the merchant to calculate stores within some range that they specify and then surface those as shippingOptions.

Not sure if others feel this will work or is missing something critical.

@adrianhopebailie
Copy link
Collaborator

I don't think it will make the cut for CR, but I do think supporting this is easy

This seems odd. If it's easy why not include it for CR?

@rockeynebhwani
Copy link

Let me try to add my thoughts from a retailer perspective who is looking to adopt this but after due diligence decided not to allocate any of our development resources for this as we don't think this is ready for retail adoption in it's current state and no support for 'stock pickup' is the main reason.

In UK, a typical high street retailer sees 50%-70% of their orders being picked up in store and if store pick up is not supported, it's really a deal breaker.

In terms of implementation, while developing please consider following -

  1. For repeat customers, some retail websites pre-populate the 'pick-up store' looking at previous order history of the customer. Typically, this is the store selected for last order.

So, first of all 'Payment Request API' specs should all retailers to pre-populate 'stock pickup' location.

  1. Some retailers also use concept of default store which customers can set from my account section of the site. This is same as point 1). As long as there is an option to pre-populate this, this will work.

  2. If customer is new and there is no prior history or default store setup, customer is given two options by retailers -

a) Enter postcode/zip to search for nearby stores
b) Customer may be presented option to 'Search using location' using Geolocation capabilities of phone

It's most common for customers to enter their home postcode/zip. So if a customer has default home delivery set up in browser, can we use that to find nearby stores within specific radius (it should be left up to retailers to decide radius). A configurable number of stores can be returned in Payment request API so that customer make selection (nearby location can be pre-selected).

If customer has more addresses saved in browser (Let's say home and work address). In that case, changing the address selection should invoke the store search again.

  1. Retailers also allow customer to choose a day when they want to come and pickup. This is typically from next day till 2-3 weeks in future... UI should also retailers to pass this information so that customer can make a selection.

  2. Sometime customers basket may not be eligible for 'store pickup'. Example - a high street retailer selling both clothing and furniture is able to offer 'store pickup' but not for furniture. If customers basket is not eligible for 'store pickup', retailer should have a way to indicate that 'store pickup' is not available so that customer expectations are set clearly.

@rockeynebhwani
Copy link

@rsolomakhin I am looking for live examples of a site using storePickup option in Apply Pay JS implementation but can't find anywhere. Are you aware of any live examples of this?

@marcoscaceres
Copy link
Member

apple.com let's you do store pickup.

@ianbjacobs
Copy link
Collaborator

Hi @rockeynebhwani,

We last discussed this topic in March [1] where the sense was that we would postpone adding support for "in store pickup" for now. One of the Chairs observed that the best way to move the topic forward was through a concrete proposal. Your detailed considerations should help in this regard, so thank you very much.

Ian

[1] https://www.w3.org/2017/03/23-wpwg-minutes#in-store

@rockeynebhwani
Copy link

@marcoscaceres Thanks for the pointer. Why didn't I try this myself ? :-).

I played with it and my view was that it was very clunky implementation from Apple and definitely what we are discussing here is very relevant to improve the experience further.

@rockeynebhwani
Copy link

rockeynebhwani commented Jun 13, 2017

ianbjacobs Thanks for pointing me towards minutes... Some thoughts on minutes..

a) Comment from @zkoch -" we don't have a huge demand for this, so we've decided for now to punt on it."

I think it differs from Market to Market. Market like UK is very big on store pick ups. I have worked for various big retailers. I am not able to share specific numbers here but 50%-70% is quite common.

b) Comment from @guyb - "Have the opinions of the big box retailers, walmart and costco been considered on the store pickup? The primary online merchants are not the right audience to ask about this"

My feedback above was for Wal-Mart UK (Known as ASDA). We were looking to implement this for one of their brand site (www.george.com)

So, is there any way I can help further? I am happy to document use cases or offer my assistance in manner you think it can be helpful for this group. Let me know.

@Bailey520
Copy link

Awesome work Gentlemen,
I am impressed, that doesn't happen often with me!
I can input this much, I am attempting to solve the mystery of the missing Apple/Account(s) regarding the shipping sites, what address was this shipped? etc..
All the help I can get is appreciated.
Bailey

@ianbjacobs
Copy link
Collaborator

This issue was raised in Payment Request, but closed once we removed addresses from that API. We anticipate adding addresses back to the specification and so are re-opening this issue proactively.

@ianbjacobs ianbjacobs reopened this Feb 12, 2024
@ianbjacobs
Copy link
Collaborator

We added addresses back to the specification in the 7 August 2024 CRD

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

Successfully merging a pull request may close this issue.

8 participants