WIP: Checkout page of paid signup flow
What does this MR do?
Provide a way for customers to pay for a bronze, silver or gold license inside GitLab.com.
Screenshot
https://gitlab.com/gitlab-org/growth/engineering/uploads/b3effa7ea9db8f25fbf1cc1fc6630e88/image.png
Requirements
-
Loads the plan information for the plan they clicked on from about.gitlab.com -
Loads the correct pricing for each .com plan -
Updates the total when the user updates their seat count -
Allows the user to update their plan -
Updates the pricing when the user updates their plan -
Does not update seat count when the user updates their plan -
Does not erase any of the form information that the user has entered when the user updates plan or seats. -
When the user has selected "my company or team" to the company question on the previous screen, it updates "Your organization's GitLab subscription" title to "{{ORGANIZATION}}'s GitLab subscription" when the user enters their organization name -
When the user has selected "just me" to the company question on the previous screen, it updates "Your organization's GitLab subscription" title to "{{FULL NAMES}}'s GitLab subscription" when the user enters their organization name -
Does not display tax when tax is $0 -
Allows users to revisit completed sections when they click "edit" -
Only displays edit button after the user has filled out that section (allowing them to go back to that section) -
When user clicks edit, fields are populated with previous selections -
Clicking "continue" buttons opens the next section -
Loads credit card information as Zuora iFrame to ensure PCI compliance -
Pre-fills subscription details when the user has selected "just me" to the company question on the previous screen (plan with their plan, number of users 1) -
Disables "number of users" field when the user has selected "just me" to the company question on the previous screen -
Allows user who selected "just me" to the company question on the previous screen, to enter the team flow by clicking link in "Need more users..." help text.
Closes gitlab-org/growth/engineering#52 (closed)
Since this MR is pretty large, I've broken it up into several smaller MR's:
- !21417 (merged) (API for states by country)
- !21494 (merged) (Base for the paid signup flow frontend app)
- !21500 (merged) (Checkout and progress bar components)
- !21568 (merged) (Step component)
- !21563 (merged) (Subscription details component)
- !21638 (merged) (Billing address component)
- !21640 (merged) (Payment method component)
- !21641 (merged) (Payment method component API's backend)
- !21653 (merged) (Confirm order component)
- !21736 (merged) (Confirm order component API backend)
- !21734 (merged) (Order summary component)
Edited by Alex Buijs