Firefox/Features/Web Payments
Introduction
The Payment Request API makes online purchases easier without having to fill in all of the personal and payment information over and over again. Together with the form autofill feature, it saves user's time and effort when making online purchases by storing their personal and payment information in Firefox to be used when a merchant requests payment. The Payment Request UI provides consistency across merchant sites.
The overall objective is to increase user engagement, satisfaction, and retention for frequent online shoppers. We believe this can be achieved by enabling users to complete forms and “check out” in e-commerce flows as quickly and securely as possible.
The W3C Payment Request API is a Candidate Recommendation and has already been implemented in other major web browsers. The API is extensible to any payment method without requiring the browser to be Payment Card Industry (PCI) compliant.
Status Summary
Development Update - Milestones 4 Delivery - Tuesday December 11
Below is a weekly engineering development update.
- Status: Green - In Development.
- Team has completed 23 out of 26 bugs required by the conclusion of Iteration #5 (Dec 10 - Dec 21) to remain on schedule.
- Team has completed 88% of the entire Milestone 4 Backlog which is forecast to be completed on December 21.
- View Project Tracking Dashboard for current schedule progress and backlog.
- Bugzilla Queries:
Tentative plan for 2018’H2
- Frontend: Basic card UI implementation. Known dependencies include:
- 1. (Completed) UX design reiteration V1.7: Jacqueline. (see also: Web Payment - Basic Card (MVP) design doc.
- 2. Front-end Resources: 3 Engineers
- 3. (Confirmed) Reviewer’s availability: MattN
- 4. (Confirmed) No other feature dependency (e.g., Any Lockbox dependency?)
- 5. (Confirmed) Compliance for Basic card UI (or that’s only for Payment Handler?)? e.g., PA-DSS by PA-QSA
- Platform: Ensure Payment Request APIs “ready to enable” (disable until FE ready) in Q3
- API Compat. test coverage / compliance
- Basic card spec. implementation
- (Q3 and more) Marcos keeps working on W3C spec of both the Payment Handler/Request
- (Q3 and more) Bridging UI and the Request API (subject to FE’s actual progress), including 2 parts:
- Connecting UI: ongoing and will complete in Q3;
- IntegrationL requires FE completion to start (e.g., fix bugs during UI integration and verification on merchant website like WooCommerce).
Achievement in 2017'H1
- (Done) Payment Request API development.
- (Done) User research of Payment Request (Basic Card) UX.
- (Done) Payment Request Handler API Proposal. It's been merged into the renamed Payment "Handler" API (was the Payment "App" API) spec.
Development
Preference: dom.payments.request.enabled
Front-end
- Bugzilla Component: Firefox :: WebPayments UI (file a bug)
- Front-end Work Breakdown
- Privacy & Security Considerations
- Tokenization
- Developer Documentation
Milestones
- M1
- End-to-end test with valid user data and merchant update/change events, no Fx validation, generic merchant error string, only already stored cards/addresses
- M2
- add/edit screens, only basic validation (e.g. non-empty) and address-field-specific merchant-provided errors
- M3 (Q3)
- FTU, data validation & error recovery, ready to enable on Nightly-only / Partner / End-to-end User Testing (not riding the trains)
- M4 (Q4)
- tab modal payment sheet, handling spec additions (e.g. retry, merchant field-specific errors, and new events) and UI bug fixes (not polish), gathering user testing and merchant feedback
- Later
- a11y, address autofill de-duplication fixes, security edge cases, final strings, P1 telemetry probes, "update" badge, UI feature complete, ready for release users, visual polish/animations
DOM
See Firefox/Features/Web_Payments/DOM for more info.
- Bugzilla Component: DOM: Web Payments
- Intent to Implement
- Platform implementation Architecture
- Old
Quality Assurance
- Softvision is verifying bugs
Project Members
2018'H1 (Jan.~)
- Product: Cindy Hsiang
- User Experience: Jacqueline Savory (UX), Erin Pang (VisD)
- User Research: Sharon Bautista
- Front-End Engineering: Justin Dolske, Matthew Noorenberghe (Tech Lead), Jared Wein, Samuel Foster
- Platform Engineering: Marcos Caceres, Peter Saint-Andre
- Program Management: Jean Gong
2017'H2 (Sep.~)
- Product: Jeff Griffiths
- User Experience: Jacqueline Savory (UX)
- Engineering: Justin Dolske, Matthew Noorenberghe (Tech Lead), Marcos Caceres (Architect), Jared Wein, Samuel Foster
- Program Management: Jean Gong
2017'H1 (~Aug.)
- Product: Joe Cheng
- User Experience: Juwei Huang (UX), Fang Shih (Visual)
- Engineering: Marcos Caceres (Architect), Ben Tian (TDC Tech Lead), Alphan Chen, Eden Chuang, Matthew Noorenberghe (Front-end oversight)
- Program Management: Wesly Huang
Discussion
- IRC: #payments
- Weekly Meeting Notes
- Web Payments Mailing list: webpayments@mozilla.com
- Auto Fill Public Mailing list: autofill@lists.mozilla.org
References
- Product/Project
- W3C Specifications
- User Experience