Comments (6)
๐ unless we have a pre-defined set of verbs the payee can choose from or these are automatically inferred by the payment app based on the terms of the request.
The ability for the entity requesting payment to manipulate the user interface presented to the payer should be considered VERY carefully. This is heavily locked down in many existing payment systems today for good reason.
EXAMPLE: A developer writing custom firmware for physical card acceptance devices is unable to use custom prompts when the device is requesting input from the user. The reasoning is that the developer could publish a malicious application that prompts a user to input their PIN when the data is not being captured securely and the developer is therefor able to steal the user's PIN.
This is a well-understood attack vector in a very mature payments system. Allowing payee's to control the input/prompts presented to users in our far more open and flexible system may expose the user to attacks we can't even imagine today.
I would suggest 3 alternatives (with preference for the first):
- Allow the payment app to display an appropriate verb based on whatever logic they choose. The payment app is the payer's agent and so is not likely to be malicious or defraud the payer. Example: If the payer is tricked into making a payment or signing up for a subscription by their payment agent it's far more likely they can pursue legal action against the publisher of the payment app than the payee.
- Always use the verb "Authorise" (which can be easily translated) and allow the payee to provide an appropriate product description:
- "Buy 15 widgets" - Authorize
- "Reserve $120 for your rental car" - Authorize
- "Subscribe to a weekly newsletter for $15 per week" - Authorize
- Define a set of verbs which are not provided by the payee but selected by the payment app or mediator (browser) based on the terms of the payment being requested. The algorithm used to select these could be well-defined as part of our standard.
from webpayments.
Is there danger that if we attempt to define these "terms" it will run
afoul of regulatory requirements? The world is wide...
On Mon, Jan 25, 2016 at 7:58 AM, Adrian Hope-Bailie <
[email protected]> wrote:
[image: ๐] unless we have a pre-defined set of verbs the payee can
choose from or these are automatically inferred by the payment app based on
the terms of the request.The ability for the entity requesting payment to manipulate the user
interface presented to the payer should be considered VERY carefully. This
is heavily locked down in many existing payment systems today for good
reason.EXAMPLE: A developer writing custom firmware for physical card
acceptance devices is unable to use custom prompts when the device is
requesting input from the user. The reasoning is that the developer could
publish a malicious application that prompts a user to input their PIN when
the data is not being captured securely and the developer is therefor able
to steal the user's PIN.This is a well-understood attack vector in a very mature payments system.
Allowing payee's to control the input/prompts presented to users in our far
more open and flexible system may expose the user to attacks we can't even
imagine today.I would suggest 3 alternatives (with preference for the first):
- Allow the payment app to display an appropriate verb based on
whatever logic they choose. The payment app is the payer's agent and so is
not likely to be malicious or defraud the payer. Example: If the payer is
tricked into making a payment or signing up for a subscription by their
payment agent it's far more likely they can pursue legal action against the
publisher of the payment app than the payee.- Always use the verb "Authorise" (which can be easily translated)
and allow the payee to provide an appropriate product description:
- "Buy 15 widgets" - Authorize
- "Reserve $120 for your rental car" - Authorize
- "Subscribe to a weekly newsletter for $15 per week" - Authorize
- Define a set of verbs which are not provided by the payee but
selected by the payment app or mediator (browser) based on the terms of the
payment being requested. The algorithm used to select these could be
well-defined as part of our standard.โ
Reply to this email directly or view it on GitHub
#66 (comment).
-Shane
from webpayments.
I prefer that the browser has the control of the UI strings, including the button label. I expect Chrome's UI to always default to a single generic term, for example "Pay", "Buy", or "Authorize".
from webpayments.
+1 to Rouslanโs suggestion.
On Feb 9, 2016, at 3:17 PM, Rouslan Solomakhin [email protected] wrote:
I prefer that the browser has the control of the UI strings, including the button label. I expect Chrome's UI to always default to a single generic term, for example "Pay", "Buy", or "Authorize".
โ
Reply to this email directly or view it on GitHub #66 (comment).
from webpayments.
Migrated to w3c/payment-request#56.
@adrianhopebailie, this is your issue, please close it if you feel that w3c/payment-request#56 should be the new home for this issue.
from webpayments.
Have picked this up in the new thread.
from webpayments.
Related Issues (20)
- [Payment apps] How can we optimize user experience when there is only one match? HOT 1
- Pull filters out of payment method data HOT 2
- Overview document figure 5 HOT 13
- Propose a payment method specification that includes an example of field level security HOT 1
- propose to add encoding attribute to data set HOT 18
- European market - Security concerns HOT 10
- [Tokenized Card Payment] Replace usage of 'last4' with 'suffix' HOT 8
- [Tokenized Card Payment] TokenCardRequest should inherit from BasicCardRequest HOT 3
- 3D secure support HOT 4
- Sepamail WebIDL syntax and algorithms HOT 4
- Payment Method Manifest spec - should enable country specific app discovery HOT 9
- Fingerprint and version metadata (in Web App Manifest spec) HOT 36
- Should the WPWG develop a cryptocurrency payment method specification HOT 14
- Adopt a "test as you commit" policy HOT 10
- Just a question, curious HOT 1
- Visual Identity for Web Payments HOT 14
- Specify both pickup and delivery addresses in a single payment request HOT 2
- QR use cases HOT 5
- Proposal to restore charter text around UI being out of scope HOT 10
- Pagos alex
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webpayments.