- From: Shane McCarron <shane@halindrome.com>
- Date: Fri, 12 Feb 2016 08:55:01 -0600
- To: Manu Sporny <msporny@digitalbazaar.com>
- Cc: Doug Schepers <schepers@w3.org>, Web Payments Working Group <public-payments-wg@w3.org>
- Message-ID: <CAJdbnODC3VrXNsh+xj7+4rcCfh+95B8z=Bi7hwd-JAy9cT7eZQ@mail.gmail.com>
I wonder if we are yet in a position to suggest that there are well defined schema.org terms that map to various items? To the extent possible, I think it would be great if we could rely upon well-defined semantics and then allow for local translation or whatever. For example, the UnitPriceSpecification [1] feels like a decent way to capture pricing on individual items. I would be happy to pull in someone from that community to advise us if there is interest. [1] https://schema.org/UnitPriceSpecification On Thu, Feb 11, 2016 at 2:47 PM, Manu Sporny <msporny@digitalbazaar.com> wrote: > On 02/11/2016 02:34 PM, Doug Schepers wrote: > > It wasn't clear to me how the the relationship between product > > price, tax amount, and shipping amount are delineated or described. > > I can only answer for the Checkout API spec (which is largely modeled > after the Microsoft/Google PaymentRequest API): > > https://wicg.github.io/web-payments-browser-api/checkout-api.html > > So, some of these answers also apply to the Microsoft/Google > PaymentRequest API, but I expect that Zach and AdrianB will answer for > that spec. > > > * Is it expected that the English string-literals "tax" and > > "shipping" will be used? (I'm assuming not, since that's in the > > client-side code.) > > If you are referring to this code: > > if(item.id === 'tax') { > item.amount = calcTaxAmount(checkoutDetails); > } > > ... the client-side code (developer) set item.id to 'tax'. They could > just as easily have set it to "myMerchantTaxCalculationLine" or "税金". > > > * Is the FinancialAmount amount the total amount, including tax and > > shipping? > > Nope, a FinancialAmount is associated with every single PaymentItem in > the "shopping cart". FinancialAmount is used with each PaymentItem, > which pulls in CheckoutItem's properties via prototypical inheritance: > > > https://wicg.github.io/web-payments-browser-api/checkout-api.html#paymentitem-dictionary > > Note that "State Tax" would be it's own PaymentItem, as would > "Shipping", as would "Food Tax". Each one is a line item that's shown > to the payer before they buy something. > > Note that this mirrors the design in the Microsoft/Google PaymentRequest > API. I have concerns about it. > > For example, there is no clear internationalization story here for > multi-lingual payment requests and line items, so that's still floating > out there. How do you display a payment request in Hong Kong for payers > that may recognize either English or Kanji (there are payment terminals > that do this today)? > > > Does that meet every payment flow and international legal constraint, > > or is there some reason to separate them (maybe for reporting > > reasons? > > No idea, but I wouldn't expect it could. We haven't been able to do that > work yet. To put it another way, I think the line-item thing is purely > informational (browser display purposes) and naive and couldn't be used > to generate a legally binding bill of sale in all jurisdictions in its > current form. GS1 and NACS (and their European counterpart) probably > have a ton of thoughts on this and we should check with them. > > > * In the PaymentItem dictionary, there's a boolean for shipping… > > should there also be one for tax? (Some items in the same order may > > be taxed differently, for various reasons.) > > This is a hold-over from the Microsoft/Google PaymentRequest API. That > spec treats shipping information in a very special way and treats taxes > as just another line item. This is one of the objections we had on the > design as it special-cases shipping in ways that bleed into the API > design. For example, something better might be that line items could > have a "purpose" property with certain well-understood purposes that a > user agent would use to specially format the display for the line item. > Or we could have a "highlight" property. > > We should avoid special-casing things like this as much as possible, but > I didn't remove it from the spec yet to keep the number of changes to a > minimum. > > > * Are tax and shipping the only items? Will there be multiple types > > of taxes, like sales or VAT tax, or is that all calculated by the > > merchant at the time, and thus irrelevant to the API. > > Yes, there are multiple types of taxes and some merchants choose to > display these tax lines separately. For example, there may be taxes that > merchants want to break out from their service/product fees (e.g. > breaking out a rental tax (renting out part of a restaurant) from a food > sales tax (buying food). David Ezell would be able to regale you with > stories on all the ways taxes are calculated and displayed during the > checkout process. > > -- manu > > -- > Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny) > Founder/CEO - Digital Bazaar, Inc. > blog: Web Payments: The Architect, the Sage, and the Moral Voice > https://manu.sporny.org/2015/payments-collaboration/ > > -- -Shane
Received on Friday, 12 February 2016 14:55:33 UTC