diff --git a/specs/paymentrequest.html b/specs/paymentrequest.html index 7d269907..ddacb032 100644 --- a/specs/paymentrequest.html +++ b/specs/paymentrequest.html @@ -73,7 +73,7 @@
This specification describes a web API to allow merchants (i.e. web sites selling physical or digital goods) to easily accept payments from different payment methods with - minimal integration. User agents (e.g. browsers) will facilitate the payment flow between + minimal integration. Payment Mediators (e.g. browsers) will facilitate the payment flow between merchant and user.
@@ -100,11 +100,11 @@This specification describes an API that allows user agents (e.g. browsers) to act +
This specification describes an API that allows Payment Mediators (e.g. browsers) to act as an intermediary between the three key parties in every transaction: the merchant (e.g. an online web store), the buyer (e.g. the user buying from the online web store), and the Payment Method (e.g. credit card). Information necessary to process and confirm a - transaction is passed between the Payment Method and the merchant via the user agent + transaction is passed between the Payment Method and the merchant via the Payment Mediator with the buyer confirming and authorizing as necessary across the flow.
In addition to better, more consistent user experiences, this also enables web sites to take @@ -118,10 +118,10 @@
- A user agent MUST behave as described in this specification - in order to be considered conformant. In this specification, user agent means a Web - browser or other interactive user agent as defined in [[!HTML5]]. + A payment mediator MUST behave as described in this specification + in order to be considered conformant. In this specification, payment mediator means a Web + browser or other cross-platform.
- User agents MAY implement algorithms given in this + Payment mediator MAY implement algorithms given in this specification in any way desired, so long as the end result is indistinguishable from the result that would be obtained by the specification's algorithms.
- A conforming Payment Request API user agent MUST also be a + A conforming Payment Request API payment mediator MUST also be a conforming implementation of the IDL fragments of this specification, as described in the “Web IDL” specification. [[!WEBIDL]]
A web page creates a PaymentRequest
to make a payment request. This is
- typically associated with the user initiating a payment process
+ typically associated with the user initiating a payment process
(e.g., selecting a "Power Up" in an interactive game, pulling up to an automated kiosk in a parking structure,
or activating a "Buy", "Purchase", or "Checkout" button).
The PaymentRequest
allows the web page to exchange information with the
- user agent while the user is providing input before approving or denying a payment request.
+ payment mediator while the user is providing input before approving or denying a payment request.
The following example shows how to construct a PaymentRequest
and begin the
@@ -276,11 +276,11 @@
data
.
NotSupportedError
.
@@ -516,7 +516,7 @@ The internal slot [[\state]] follows the following state transitions:
-
A CurrencyAmount
dictionary is used to supply monetary amounts.
The following fields MUST be supplied for a CurrencyAmount
to be valid:
@@ -622,13 +622,13 @@
currency
is a string containing a currency identifier. The most common
identifiers are three-letter alphabetic codes as defined by [[!ISO4217]] (for example,
"USD"
for US Dollars) however any string is considered valid and
- user agents MUST not attempt to validate this string.
+ payment mediators MUST not attempt to validate this string.
value
^-?[0-9]+(\.[0-9]+)?$
.
@@ -668,7 +668,7 @@ PaymentItem
dictionaries indicates what the payment
request is for. The sequence must contain at least one PaymentItem
. The last
PaymentItem
in the sequence represents the total amount of the payment
- request. The user agent MAY validate that the total amount is the sum of the
+ request. The payment mediator MAY validate that the total amount is the sum of the
preceding items, but it is the responsibility of the calling code to ensure that.
shippingOptions
requestShipping
true
when physical goods need to be shipped by the merchant to the user.
This would be set to false
for an online-only electronic purchase transaction.
@@ -737,7 +737,7 @@ PaymentItem
. It MUST be
unique for a given PaymentRequest
.label
amount
If the requestShipping flag was set to true
in the PaymentOptions
- passed to the PaymentRequest constructor, then the user agent will populate the
+ passed to the PaymentRequest constructor, then the payment mediator will populate the
shippingAddress
field of the PaymentRequest
object with
the user's selected shipping address.
ShippingOption
. It MUST be
unique for a given PaymentRequest
.label
amount
If the web page wishes to update the payment request then it should call updateWith
and provide a promise that will resolve with a PaymentDetails
- dictionary containing changed values that the user agent SHOULD present to the user.
The PaymentRequestUpdateEvent constructor MUST set the internal slot [[\waitForUpdate]] to false.
The updateWith
method MUST act as follows:
d
to indicate that the payment request is valid again.
- The user agent SHOULD disable any part of the user interface that could cause +
The payment mediator SHOULD disable any part of the user interface that could cause another update event to be fired. Only one update may be processed at a time.
When the internal slot [[\state]] of a PaymentRequest
object is set to
- interactive, the user agent will trigger the following algorithms based
+ interactive, the payment mediator will trigger the following algorithms based
on user interaction.
PaymentRequestUpdateEvent
.
The PaymentRequest
interface allows a web page to call abort
- to tell the user agent to abort the payment request and to tear down any user interface that
+ to tell the payment mediator to abort the payment request and to tear down any user interface that
might be shown. For example, a web page might choose to do this if the goods they are selling are
only available for a limited amount of time. If the user does not accept the payment request
within the allowed time period, then the request will be aborted.
- A user agent might not always be able to abort a request. For example, if the user agent + A payment mediator might not always be able to abort a request. For example, if the payment mediator has delegated responsibility for the request to another app. To support this situation, - the user agent must run the User agent delegates payment request algorithm. + the payment mediator must run the Payment mediator delegates payment request algorithm. The algorithm MUST run the following steps:
@@ -1116,12 +1116,12 @@We believe there are user agent configurations that can cause the UI to get into a state +
We believe there are payment mediator configurations that can cause the UI to get into a state where cancellation by the web page during user interaction is difficult. Users should still be able to cancel the payment but script will not be able to. We need to investigate in more detail the consequences of this and whether it is really needed.
-If we specify delegated
then it isn't necessary for all user agents to be
+
If we specify delegated
then it isn't necessary for all payment mediators to be
able to move to this state but it would be necessary for all payment flows that wish to call
abort
to account for the situation where this may fail in the delegated
state.
- This specification should describe how the user agent will pass the - payment request data and the complete signal to a native payment app + This specification should describe how the payment mediator will pass the + payment request data and the complete signal to a native payment app and also how it will receive the payment response from the payment app.
@@ -1170,13 +1170,13 @@delegated
, then terminate this algorithm and take no further action.
- The user agent user interface should ensure that this never occurs.
+ The payment mediator user interface should ensure that this never occurs.
requestShipping
value of request@[[\options]]