[tracking] Make single-page app for webpay

RESOLVED FIXED

Status

Marketplace
Payments/Refunds
P1
normal
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: kumar, Assigned: scolville)

Tracking

x86
Mac OS X
Points:
---
Dependency tree / graph

Details

(Whiteboard: p=3)

Attachments

(1 attachment)

The payment flow (webpay) has to be as snappy as possible with as little http interaction as possible. This is to prototype a client side implementation without the server to get a sense for how to support all the variations on the user flow.
Assignee: nobody → thepotch
Blocks: 775802
Priority: -- → P3
This is just a prototype so it doesn't depend on anything in the current UI (yet)
No longer depends on: 837913

Updated

5 years ago
Version: 1.0 → 1.2
Whiteboard: p=

Comment 2

5 years ago
Documenting my thoughts on this for the next person to inherit this bug (hi stuart!)

webpay is a good candidate for a single-page app because of the consistency of its UI, and the statefulness of the interaction.

I will attempt to explain the various UI states as a basic text adventure below. Hope it helps!


Detail Page
-----------
You are on the detail page for a paid app.
You see a button marked "0.99". 

> PRESS BUTTON
Are you logged in?
> NO
GOTO Persona
> YES
GOTO Pin Entry


Persona
-------
You are in Mozilla Persona's sign-in-flow.
Are you locked out or resetting your PIN?

> NO
Logging in...
GOTO Lobby

> YES
Logging in...
GOTO Pin Reset


Lobby
-----
You are in webpay's lobby.
Do you have a PIN?

> NO
GOTO Create PIN

> YES
Enter your PIN to continue.

> **** √
GOTO Payment

> **** X
Invalid Pin.
> **** X
Invalid Pin.
> **** X
You are now locked out. Please Sign in to reset your pin.
GOTO Persona

> FORGOT PIN
GOTO Confirm PIN Reset


Pin Confirm
-----------
You are at the PIN reset confirmation.
Are you sure you would like to reset your PIN?

> YES
Your PIN is now being reset.
Please Sign in.
GOTO Persona

> NO
GOTO Lobby


Pin Reset
---------
You are now in the PIN Reset Flow.
Please enter a new PIN

> ****
Please re-enter the PIN to confirm.
> **** X
PIN does not match.
> **** √
Resetting your PIN...
GOTO Lobby


Payment
-------
You are about to purchase this awesome app for USD 0.99.
Are you sure you would like to complete this purchase?

> YES
Sending you to our secure payment provider.
GOTO Bango

> NO
Well never mind then.
GOTO Detail Page


Bango
-----
*A sudden flash of light and swirl of wind*
*Magic happens*
GOTO Payment Complete


Payment Complete
----------------
Your Purchase is complete.

> OK
GOTO Detail Page

Comment 3

5 years ago
Created attachment 730900 [details]
Just in case the text description was completely inscrutable, the whiteboard version.
Yes! I want this to be the source of our test suite.

Comment 5

5 years ago
Realized I forgot the Create PIN Flow.


Create PIN
----------
Select a 4-Digit PIN.

> ****
Please re-enter the PIN to confirm.
> **** X
PIN does not match.
> **** √
Setting up account...
*Something Something SMS (kumar can elaborate)*
GOTO Lobby

Updated

5 years ago
Assignee: thepotch → nobody
Assignee: nobody → scolville
Whiteboard: p= → p=3
Currently looking into this and prototyping with commonplace with a view to discussing this more in the upcoming workweek.
Status: NEW → ASSIGNED
Version: 1.2 → 1.4
Blocks: 861131

Updated

5 years ago
Duplicate of this bug: 916354
Status: ASSIGNED → NEW

Updated

5 years ago
Blocks: 929232

Updated

4 years ago
Version: 1.4 → 1.5

Updated

4 years ago
Depends on: 957677

Updated

4 years ago
Summary: Prototype single-page app for webpay → Make single-page app for webpay

Updated

4 years ago
Blocks: 894468
How does a user select between multiple payment options if those exist before confirmation?

Comment 9

4 years ago
(In reply to David Bialer [:dbialer] from comment #8)
> How does a user select between multiple payment options if those exist
> before confirmation?

The payment choice page is out of scope for this bug.
Depends on: 963633
Depends on: 963634
Depends on: 963635
Depends on: 963637
Depends on: 963640
Depends on: 963649

Updated

4 years ago
Depends on: 963654

Updated

4 years ago
Summary: Make single-page app for webpay → [tracking] Make single-page app for webpay
Updated to P1 as SPA as a project is a P1
Priority: P3 → P1

Updated

4 years ago
No longer blocks: 894468
Depends on: 968925
Depends on: 967145
Depends on: 973684
Depends on: 973685
Depends on: 973686
Depends on: 974330
Depends on: 981054
Depends on: 982873
Depends on: 985419

Updated

4 years ago
Depends on: 985673

Updated

4 years ago
Depends on: 986006
Depends on: 986100

Updated

4 years ago
No longer blocks: 956959

Updated

4 years ago
No longer blocks: 941952
Depends on: 1001460

Updated

4 years ago
No longer depends on: 967145

Updated

4 years ago
Depends on: 1001495

Updated

4 years ago
Depends on: 1001498
Depends on: 1002507
Depends on: 1002510
Depends on: 1002512
Depends on: 1002515
Depends on: 1002516
Depends on: 1002519
Depends on: 1003136
Depends on: 1003218
Depends on: 1003882
Depends on: 1004419
Depends on: 1007127
Depends on: 1012725
Depends on: 1013440

Updated

4 years ago
Blocks: 1014075
Depends on: 1014126
Depends on: 1014130

Updated

4 years ago
Depends on: 1014148

Updated

4 years ago
Blocks: 1014149
Depends on: 1014151
Depends on: 1014168
Depends on: 1014202
Depends on: 1014204
Depends on: 1014564
Depends on: 1014746
Depends on: 1014783
Depends on: 1014793
Depends on: 1014872
Depends on: 1014876
Depends on: 1015212
Depends on: 1015266
Depends on: 1015351
Depends on: 1018934
Depends on: 1018952
Depends on: 1019573

Updated

4 years ago
No longer depends on: 1002515

Updated

4 years ago
No longer depends on: 1002519

Updated

4 years ago
No longer depends on: 1002516
Depends on: 1019655

Updated

4 years ago
No longer depends on: 1002512

Updated

4 years ago
No longer depends on: 1004419
Depends on: 1023375
Depends on: 1023917
Depends on: 1023954
Depends on: 1024451
Depends on: 1024592
Depends on: 1025080
Depends on: 1027126
Depends on: 1027148
Depends on: 1027158

Updated

4 years ago
Depends on: 1030412
Depends on: 1030796
Depends on: 1032211
Depends on: 1032308
Depends on: 1032316
Depends on: 1032847
No longer blocks: 1032845
Depends on: 1032845
Depends on: 1033399
Depends on: 1033433
Depends on: 1034118
Depends on: 1034165
Depends on: 1035955
Depends on: 1035958
Depends on: 1036935
Depends on: 1036974
Depends on: 1037481
Depends on: 1037513
Depends on: 1039756
Depends on: 1039808
Depends on: 1045905
Depends on: 1048583
Depends on: 1049004
Depends on: 1050544
Depends on: 1050562
Depends on: 1050591

Updated

4 years ago
Depends on: 1057033

Updated

4 years ago
Depends on: 1057459

Updated

4 years ago
Depends on: 1059501

Updated

4 years ago
Depends on: 1060586

Updated

4 years ago
Depends on: 1060637

Updated

4 years ago
Depends on: 1061923

Updated

4 years ago
Depends on: 1063575
No longer depends on: 1050562
No longer depends on: 1034118

Updated

4 years ago
Depends on: 1065563
Depends on: 1066511
Depends on: 1066698
Blocks: 1080214
No longer blocks: 1080214

Comment 11

4 years ago
There's still a few bugs, but this is so done. Yay!
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.