Let's do payments on the Desktop. Desktop Marketplace is launching Q3 and we should launch payments after that. Q4 would be awesome as it turns out.
Iframe or Popup (or something else)?
- From UX
- Something that feels like a Desktop experience
- A pop-up doesn't feel like a Desktop experience
- No lock icon
- No URL
- If its logging in and entering credit card details
- If its Firefox App container restriction
- CSP to prevent to injection?
- No good way for a library running in an iframe to prevent
- Not really helpful
- Happy path
- Harder for an app
- Decision: go for pop-up.
- Is it possible for a pop-up to another domain?
- Stuart: WebRT check on if this is possible.
- Theoretically possible to do an iframe, for the happy path.
Nothing in the current mobile implementation that prevents phishing.
All we need to do is turn on the Desktop payments option when creating a paid app (and ideally make it a flag).
Since Desktop have not implemented mozPay we need to:
- add in a mozPay polyfill to fxpay
- add in a mozPay polyfill to fireplace (or make fireplace use fxpay)
- add in a mozPaymentProvider polyfill to fxpay
- add in a mozPaymentProvider polyfill to fireplace (or make fireplace use fxpay)
- process the JWT and pass it through to the correct server (can we use prefs for that, or just trust the JWT?)
- alter spartacus to polyfill in mozPaymentProvider to be able to post a message back to the calling window (maybe?)
- complete the payment flow
- call the mozPaymentProvider polyfill in fireplace (or make fireplace use fxpay)
- call the mozPaymentProvider polyfill in fxpay
Other development tasks
To think about...
Does the UX change significantly?
Because Desktop did not implement the Trusted UI then we have a choice on how to display it.
Waiting for UX feedback but here's some comments:
- we need to keep the actual window roughly the same size as the mobile one
- be it an iframe or popup
- (andym) would prefer if it got a look and feel closer to Firefox Accounts if we were going to do that
Tracking bug: 969539.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Out of scope
Support for browsers other than Firefox. We could probably do that, but let's focus on just Firefox for this release.