This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
Payment Request Concepts and Usage
Many problems related to online purchase abandonment can be traced to checkout forms, which are user-intensive, difficult to use, slow to load and refresh, and require multiple steps to complete. The Payment Request API is a system that is meant to eliminate checkout forms. It vastly improves user workflow during the purchase process, providing a more consistent user experience and enabling web merchants to easily leverage disparate payment methods.
To request a payment, a web page creates a PaymentRequest object in response to a user action that initiates a payment, such as clicking a "Purchase" button. The PaymentRequest allows the web page to exchange information with the user agent while the user provides input to complete the transaction.
Note: The API is available inside <iframe>
elements only if they have had the allowpaymentrequest
attribute set on them.
Interfaces
PaymentRequest
- Manages the process of a user making a payment.
PaymentRequestUpdateEvent
- Enables the web page to update the details of the payment request in response to a user action.
PaymentResponse
- Returned after a user selects a payment method and approves a payment request.
PaymentAddress
- Stores address information.
Specifications
Specification | Status | Comment |
---|---|---|
Payment Request API | Editor's Draft | Initial definition. |
Browser Compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support |
60.0 |
(Yes) | No support[1] | ? | ? | ? |
Feature | Android Webview | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | No support | 51.0 | (Yes) | No support[1] | ? | ? | ? |
[1] Supported but disabled on all versions. Hidden behind the dom.payments.request.enabled
pref.