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

Should it be possible to provide "total" amounts in more than one currency #3

Open
adrianba opened this issue Mar 2, 2016 · 17 comments

Comments

@adrianba
Copy link
Contributor

adrianba commented Mar 2, 2016

This issue comes from WICG/paymentrequest#19 and was discussed at the F2F.

@mountielee
Copy link

two types of currency are used currently.
currency for merchant and
currency customer selected.

with DCC(Dynamic Currency Conversion) mechanism
merchant has product priced $100
and merchant add additional currencies by adding some margins.

merchant will offer multiple currencies and amount to customer.
when payment made with different currency than merchant's original currency

merchant will receive settlement amount based on their original currency
customer will pay different currency amount by customer's card issuer.
DCC vendor will share margins with Acquirer, merchant

@mountainhippo
Copy link
Collaborator

The current wording of the draft also prevents the currency being specified as a non-fiat ISO 4217 currency. In other words, you couldn't be compliant with the specification and create a payment request in, for example, bitcoin or ripple. Is this a separate issue?

@mattsaxon
Copy link
Contributor

https://en.bitcoin.it/wiki/Bitcoin_symbol suggest XBT is the 'unofficial ISO4217' code, I suggest we explicitly call this out in our spec. The wiki pages referenced also calls out ETH for Ether.

@mattsaxon mattsaxon added this to the Priority: Medium milestone Mar 21, 2016
@rsolomakhin
Copy link
Collaborator

In Chrome we want to allow all currencies in format "[A-Z]{3}" (three upper case ASCII letters). This allows for the proposed currency codes as well.

@rsolomakhin
Copy link
Collaborator

Should it be possible to provide amounts in more than one currency?

Let's restrict each payment request to a single currency code, until such time as merchants express their need for this feature.

@mattsaxonwp
Copy link

-1, we at least need different methods to support different currency codes such that CryptoCurrencies can be supported alongside traditional currencies in a single paymentrequest.

@msporny
Copy link
Member

msporny commented Mar 29, 2016

Let's restrict each payment request to a single currency code, until such time as merchants express their need for this feature.

@rsolomakhin -1, we (Digital Bazaar) have a number of use cases where we need to be able to differentiate pricing based on currency (with merchants that accept payment in more than one currency, for example).

While it is true that we could generate one payment request for every type of currency, we see that approach as sub-optimal as we're going to be repeating all other data in the payment N times for every currency that is accepted.

I am concerned about the combinatorial effect of allowing multiple currencies, so perhaps we should start marking up some examples and see how complicated it gets. The worst case that I can see is accepting payment in multiple currencies across multiple payment instruments.

@adrianhopebailie
Copy link
Collaborator

@mountielee I don't think this issue addresses DCC directly but it is a prerequisite for DCC. I agree that it will be impossible to offer DCC without this.

@mountainhippo, @mattsaxon, @rsolomakhin I have submitted PR (#101) to address this based on the WG's previous resolution in this regard

I am a firm +1 for allowing multiple prices to be included in a payment request. These may differ based on currency but I'd also like them to differ based on payment method (See #4). We need to look at the format of the input data to the payment request and consider how we might accommodate these requirements.

@davidillsley
Copy link

I'm increasingly thinking that there are sufficient possible dimensions with surcharges, differences between currencies etc that for some of these less-common cases, a call-back (event) to the merchant site to recalculate might be in order (as with the shipping details). Is this something anyone has explored/discarded?

@adrianhopebailie
Copy link
Collaborator

@davidillsley yes, see #109

The challenge we have with doing this via the browser API is that the current events/callbacks system is intended to be an exchange between the website and the user agent before the request is passed to the payment app.

Once that is done there is no obvious way to continue exchanging data between them. Of course this may not be true if we define more specifically what a payment app IS but to date we have danced around this issue in a fairly uncomfortable way.

E.g. If a payment app on a mobile device is actually a separate app to the browser (which is itself an app) then we are severely limited in what is possible ito IPC between the apps. The support for this is very different across platforms and we're getting into a space we can't control.

It's becoming increasingly clear to me that we need to define a default web-based payment app behavior that all user agents MUST support and then allow them to innovate in how they support native apps.

@msporny
Copy link
Member

msporny commented Mar 31, 2016

It's becoming increasingly clear to me that we need to define a default web-based payment app behavior that all user agents MUST support and then allow them to innovate in how they support native apps.

+1 as my hope has always been that we do this first. The Web Payments Community Group's proposal did this as the minimum bar to ensure a level playing field wrt. payment apps.

@adrianhopebailie
Copy link
Collaborator

PR #133 proposes a way to support this in the request.
How this is supported by the payment app is not in scope.

Please review the PR and if you are happy with the approach I will close this issue.

@adrianhopebailie adrianhopebailie modified the milestone: Priority: Medium Apr 22, 2016
@adrianhopebailie adrianhopebailie added this to the Discuss on Call - 28 April milestone Apr 28, 2016
adrianba added a commit to adrianba/browser-payment-api that referenced this issue Apr 28, 2016
Fixes w3c#48.

PR w3c#162 refactored the supportedMethods and payment specific data
fields. Issue w3c#3 discusses supporting multiple currencies and issue w3c#4
discusses price per payment method and we should consider specific
proposals for those issues.

PR w3c#162 replaces the `sequence<DOMString>` with
`sequence<PaymentMethodData>` so we now use objects.
@adrianhopebailie
Copy link
Collaborator

@rlovetx thanks for this input.

I don't think my proposal in #133 would have satisfied all of your requirements and has been closed now in favor of a number of smaller changes that addressed some of the other issues.

My proposal was simply to provide a sequence of CurrencyAmounts which amounts to the payee making the offer in multiple currencies but no more than that.

I think we need a new concrete proposal that addresses all of your requirements:

  1. FX rate
  2. Payee applied margin
  3. Disclaimer

Although I must confess to never having seen these when I have been offered a DCC payment 😄

@rlovetx
Copy link

rlovetx commented May 4, 2016

@adrianhopebailie thanks for your reply.

I'll start a new issue.

The credit card companies do require the three items to be shown for DCC--and have actually fined merchants/acquirers for improperly presenting DCC offers. Saying that, I've seen some VERY dodgy implementations of DCC that aren't remotely compliant with card company rules.

@adrianba
Copy link
Contributor Author

Discussed in the telcon.

RESOLUTION: Do not add further support for multiple totals per payment method (in v1).

@adrianhopebailie adrianhopebailie modified the milestone: 26 May Jun 22, 2016
@marcoscaceres marcoscaceres changed the title Should it be possible to provide amounts in more than one currency Should it be possible to provide "total" amounts in more than one currency Mar 17, 2017
@ianbjacobs
Copy link
Collaborator

@adrianhopebailie, this is an old issue. Would you like to keep it open and discuss at the April FTF meeting?

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

No branches or pull requests