2018-07-03 16:42:53 +02:00
{% extends "zerver/portico.html" %}
2019-10-23 07:46:34 +02:00
{% set entrypoint = "upgrade" %}
2018-03-31 04:13:44 +02:00
2022-09-06 12:04:03 +02:00
{% block title %}
< title > {{ _("Upgrade") }} | Zulip< / title >
{% endblock %}
2018-03-31 04:13:44 +02:00
{% block customhead %}
2021-04-21 00:46:14 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2018-03-31 04:13:44 +02:00
{% endblock %}
{% block content %}
2018-11-29 08:51:53 +01:00
2018-03-31 04:13:44 +02:00
< div class = "app portico-page" >
2018-07-03 16:42:53 +02:00
{% include 'zerver/billing_nav.html' %}
2020-05-27 02:58:46 +02:00
< div class = "portico-landing billing-upgrade-page new-style" >
2018-07-03 16:42:53 +02:00
< div class = "hero small-hero" > < / div >
< div class = "page-content" >
< div class = "main" >
2020-05-22 15:31:27 +02:00
< h1 > 🚀 {% trans %}Upgrade to {{ plan }}{% endtrans %}< / h1 >
2020-05-14 18:21:23 +02:00
{% if free_trial_days %}
2020-05-22 15:30:39 +02:00
< div id = "free-trial-alert-message" class = "alert alert-info" >
2020-05-27 02:58:46 +02:00
Upgrade now to start your {{ free_trial_days }} day free trial
of Zulip Cloud Standard!
2020-04-23 20:10:15 +02:00
< / div >
{% endif %}
2021-12-27 21:25:38 +01:00
{% if is_demo_organization %}
< div class = "demo-organization-warning" >
Demo organizations cannot be directly upgraded to a paid plan. Please start by
< a href = "/help/demo-organizations#convert-a-demo-organization-to-a-permanent-organization" >
converting your demo organization
< / a >
to a permanent organization.
< / div >
{% endif %}
2018-07-13 13:33:05 +02:00
{% if error_message %}
2018-11-18 10:18:14 +01:00
< div class = "alert alert-danger" id = "upgrade-error-message-box" >
2018-07-13 13:33:05 +02:00
{{ error_message }}
< / div >
{% endif %}
2018-11-18 10:18:14 +01:00
< ul class = "nav nav-tabs" id = "upgrade-tabs" >
2020-05-22 15:31:27 +02:00
< li class = "active" > < a data-toggle = "tab" href = "#autopay" > 💳 Pay automatically< / a > < / li >
< li > < a data-toggle = "tab" href = "#invoice" > 🧾 Pay by invoice< / a > < / li >
2020-06-09 12:24:32 +02:00
< li > < a data-toggle = "tab" href = "#sponsorship" > 💚 Request sponsorship< / a > < / li >
2018-11-18 10:18:14 +01:00
< / ul >
2021-04-21 00:46:14 +02:00
< input type = "hidden" name = "csrfmiddlewaretoken" value = "{{ csrf_token }}" / >
2018-11-18 10:18:14 +01:00
< div class = "tab-content" >
< div class = "tab-pane active" id = "autopay" >
2018-12-07 18:43:22 +01:00
< div id = "autopay-input-section" >
2021-08-29 15:33:29 +02:00
< form id = "autopay-form" >
2021-04-21 00:46:14 +02:00
< input type = "hidden" name = "seat_count" value = "{{ seat_count }}" / >
< input type = "hidden" name = "signed_seat_count" value = "{{ signed_seat_count }}" / >
< input type = "hidden" name = "salt" value = "{{ salt }}" / >
< input type = "hidden" name = "billing_modality" value = "charge_automatically" / >
2021-08-29 15:33:29 +02:00
{% if onboarding %}
< input type = "hidden" name = "onboarding" value = "true" / >
{% endif %}
2020-05-27 02:58:46 +02:00
{% if onboarding and free_trial_days %}
2021-12-02 00:51:16 +01:00
< p > < b > Not ready to start your trial?< / b > < a href = "/" > Continue with the Zulip Cloud Free plan< / a > .< / p >
2021-04-21 00:46:14 +02:00
< hr / >
2022-02-05 08:29:54 +01:00
< h2 > Zulip Cloud Standard free trial< / h2 >
2020-04-23 20:10:15 +02:00
{% endif %}
2018-12-07 18:43:22 +01:00
< div class = "payment-schedule" >
2018-12-21 18:44:24 +01:00
< div id = "autopay-error" class = "alert alert-danger" > < / div >
2018-12-07 18:43:22 +01:00
< h3 > {{ _("Payment schedule") }}< / h3 >
2020-05-27 02:58:46 +02:00
{% if free_trial_days %}
< p >
You won't be charged during the free trial. You can also downgrade to
Zulip Cloud Free, our forever free plan, at any time.
< / p >
{% endif %}
2018-12-07 18:43:22 +01:00
< label >
2020-04-17 11:17:28 +02:00
< input type = "radio" name = "schedule" value = "monthly" checked / >
< div class = "box" >
< div class = "schedule-time" > {{ _("Pay monthly") }}< / div >
< div class = "schedule-amount" > $< span id = "autopay_monthly_price" > < / span > /user/month< / div >
< / div >
< / label >
< label >
< input type = "radio" name = "schedule" value = "annual" / >
2018-12-07 18:43:22 +01:00
< div class = "box" >
< div class = "schedule-time annually" > {{ _("Pay annually") }}< / div >
< div class = "schedule-amount" >
$< span id = "autopay_annual_price_per_month" > < / span > /user/month
< div class = "schedule-amount-2" >
($< span id = "autopay_annual_price" > < / span > /user/year)
< / div >
2018-11-18 10:18:14 +01:00
< / div >
< / div >
2018-12-07 18:43:22 +01:00
< / label >
< / div >
2018-12-21 18:44:24 +01:00
< div class = "license-management" >
< h3 > {{ _("License management") }}< / h3 >
< label >
< input type = "radio" name = "license_management" value = "automatic" checked / >
< div class = "box" >
< div class = "management-type" > {{ _("Automatic") }}< / div >
2019-01-29 15:30:19 +01:00
< div class = "management-type-text" > {{ _("Most convenient") }}< / div >
2018-12-21 18:44:24 +01:00
< / div >
< / label >
< label >
< input type = "radio" name = "license_management" value = "manual" / >
< div class = "box" >
< div class = "management-type" > {{ _("Manual") }}< / div >
2019-01-29 15:30:19 +01:00
< div class = "management-type-text" > {{ _("Most control") }}< / div >
2018-12-21 18:44:24 +01:00
< / div >
< / label >
< / div >
< div id = "license-automatic-section" >
< p >
2020-05-14 18:21:23 +02:00
{% if free_trial_days %}
2020-04-23 20:10:15 +02:00
After the Free Trial, you’ ll be charged
< b > $< span id = "charged_amount" > < / span > < / b > for < b > {{ seat_count }}< / b >
2021-04-21 00:46:14 +02:00
users (or more if you later add more users).< br / >
2020-05-27 02:58:46 +02:00
2020-04-23 20:10:15 +02:00
We'll automatically charge you for additional licenses as users
are added, and remove licenses not in use at the end of each billing
period.
{% else %}
2018-12-21 18:44:24 +01:00
You’ ll initially be charged
< b > $< span id = "charged_amount" > < / span > < / b > for < b > {{ seat_count }}< / b >
2021-04-21 00:46:14 +02:00
users.< br / >
2018-12-15 09:33:25 +01:00
We'll automatically charge you for additional licenses as users
2018-12-21 18:44:24 +01:00
are added, and remove licenses not in use at the end of each billing
period.
2020-04-23 20:10:15 +02:00
{% endif %}
2018-12-21 18:44:24 +01:00
< / p >
2021-04-21 00:46:14 +02:00
< input type = "hidden" name = "licenses" id = "automatic_license_count" value = "{{ seat_count }}" / >
2018-12-21 18:44:24 +01:00
< / div >
< div id = "license-manual-section" >
2020-04-23 20:10:15 +02:00
2018-12-21 18:44:24 +01:00
< p >
2020-05-14 18:21:23 +02:00
{% if free_trial_days %}
2021-04-21 00:46:14 +02:00
Enter the number of users you would like to pay for after the Free Trial.< br / >
2020-04-23 20:10:15 +02:00
You'll need to manually add licenses to add or invite
additional users.
{% else %}
2021-04-21 00:46:14 +02:00
Enter the number of users you would like to pay for.< br / >
2018-12-15 09:33:25 +01:00
You'll need to manually add licenses to add or invite
additional users.
2020-04-23 20:10:15 +02:00
{% endif %}
2018-12-21 18:44:24 +01:00
< / p >
< h4 > Number of licenses (minimum {{ seat_count }})< / h4 >
2021-04-21 00:46:14 +02:00
< input type = "number" name = "licenses" min = "{{ seat_count }}" autocomplete = "off" id = "manual_license_count" required / > < br / >
2018-12-21 18:44:24 +01:00
< / div >
2021-12-27 21:25:38 +01:00
<!-- Disabled buttons do not fire any events, so we need a container div that isn't disabled for tippyjs to work -->
< div class = "upgrade-button-container" { % if is_demo_organization % } data-tippy-content = "{% trans %}Convert demo organization before upgrading.{% endtrans %}" { % endif % } >
< button id = "add-card-button" class = "stripe-button-el invoice-button" { % if is_demo_organization % } disabled { % endif % } >
< span id = "add-card-button-span" >
Add card
< / span >
< / button >
< / div >
2018-12-07 18:43:22 +01:00
< / form >
< / div >
< div id = "autopay-loading" >
< div class = "zulip-loading-logo" >
2020-07-16 04:59:13 +02:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 773.12 773.12" >
< circle cx = "386.56" cy = "386.56" r = "386.56" / >
< path d = "M566.66 527.25c0 33.03-24.23 60.05-53.84 60.05H260.29c-29.61 0-53.84-27.02-53.84-60.05 0-20.22 9.09-38.2 22.93-49.09l134.37-120c2.5-2.14 5.74 1.31 3.94 4.19l-49.29 98.69c-1.38 2.76.41 6.16 3.25 6.16h191.18c29.61 0 53.83 27.03 53.83 60.05zm0-281.39c0 20.22-9.09 38.2-22.93 49.09l-134.37 120c-2.5 2.14-5.74-1.31-3.94-4.19l49.29-98.69c1.38-2.76-.41-6.16-3.25-6.16H260.29c-29.61 0-53.84-27.02-53.84-60.05s24.23-60.05 53.84-60.05h252.54c29.61 0 53.83 27.02 53.83 60.05z" / >
2018-12-07 18:43:22 +01:00
< / svg >
2018-07-03 16:42:53 +02:00
< / div >
2018-12-07 18:43:22 +01:00
< div id = "autopay_loading_indicator" > < / div >
< / div >
2021-08-29 15:33:29 +02:00
< div id = "autopay-success" class = "alert alert-info" >
Redirecting to Stripe Checkout...
2018-12-07 18:43:22 +01:00
< / div >
2018-11-18 10:18:14 +01:00
< / div >
2018-12-07 18:43:22 +01:00
2018-11-18 10:18:14 +01:00
< div class = "tab-pane" id = "invoice" >
2018-12-07 18:43:22 +01:00
< div id = "invoice-error" class = "alert alert-danger" > < / div >
< div id = "invoice-input-section" >
< form id = "invoice-form" method = "post" >
2020-05-27 02:58:46 +02:00
{% if onboarding and free_trial_days %}
2021-12-02 00:51:16 +01:00
< p > < b > Not ready to start your trial?< / b > < a href = "/" > Continue with the Zulip Cloud Free plan< / a > .< / p >
2021-04-21 00:46:14 +02:00
< hr / >
2022-02-05 08:29:54 +01:00
< h2 > Zulip Cloud Standard free trial< / h2 >
2020-05-27 02:58:46 +02:00
{% endif %}
2021-04-21 00:46:14 +02:00
< input type = "hidden" name = "signed_seat_count" value = "{{ signed_seat_count }}" / >
< input type = "hidden" name = "salt" value = "{{ salt }}" / >
< input type = "hidden" name = "billing_modality" value = "send_invoice" / >
2018-12-07 18:43:22 +01:00
< div class = "payment-schedule" >
< h3 > {{ _("Payment schedule") }}< / h3 >
< label >
2018-12-12 23:23:15 +01:00
< input type = "radio" name = "schedule" value = "annual" checked / >
2018-12-07 18:43:22 +01:00
< div class = "box" >
< div class = "schedule-time annually" > {{ _("Pay annually") }}< / div >
< div class = "schedule-amount" >
$< span id = "invoice_annual_price_per_month" > < / span > /user/month
< div class = "schedule-amount-2" >
($< span id = "invoice_annual_price" > < / span > /user/year)
< / div >
2018-11-18 10:18:14 +01:00
< / div >
< / div >
2018-12-07 18:43:22 +01:00
< / label >
< / div >
< p >
2020-05-14 18:21:23 +02:00
{% if free_trial_days %}
2021-04-21 00:46:14 +02:00
Enter the number of users you would like to pay for.< br / >
2020-05-27 02:58:46 +02:00
We'll email you an invoice after the free trial.
2020-04-23 20:10:15 +02:00
Invoices can be paid by ACH transfer or credit card.
{% else %}
2021-04-21 00:46:14 +02:00
Enter the number of users you would like to pay for.< br / >
2018-12-15 09:33:25 +01:00
We'll email you an invoice in 1-2 hours. Invoices can be paid by
ACH transfer or credit card.
2020-04-23 20:10:15 +02:00
{% endif %}
2018-12-07 18:43:22 +01:00
< / p >
2019-01-29 15:30:19 +01:00
< h4 > Number of licenses (minimum {{ min_invoiced_licenses }})< / h4 >
2018-12-24 11:34:47 +01:00
< input type = "number" min = "{{ min_invoiced_licenses }}" autocomplete = "off"
2021-11-20 13:25:41 +01:00
id="invoiced_licenses" name="licenses" required/>< br / >
2021-12-27 21:25:38 +01:00
<!-- Disabled buttons do not fire any events, so we need a container div that isn't disabled for tippyjs to work -->
< div class = "upgrade-button-container" { % if is_demo_organization % } data-tippy-content = "{% trans %}Convert demo organization before upgrading.{% endtrans %}" { % endif % } >
< button type = "submit" id = "invoice-button" class = "stripe-button-el invoice-button" { % if is_demo_organization % } disabled { % endif % } >
Buy Standard
< / button >
< / div >
2018-12-07 18:43:22 +01:00
< / form >
< / div >
< div id = "invoice-loading" >
< div class = "zulip-loading-logo" >
2020-07-16 04:59:13 +02:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 773.12 773.12" >
< circle cx = "386.56" cy = "386.56" r = "386.56" / >
< path d = "M566.66 527.25c0 33.03-24.23 60.05-53.84 60.05H260.29c-29.61 0-53.84-27.02-53.84-60.05 0-20.22 9.09-38.2 22.93-49.09l134.37-120c2.5-2.14 5.74 1.31 3.94 4.19l-49.29 98.69c-1.38 2.76.41 6.16 3.25 6.16h191.18c29.61 0 53.83 27.03 53.83 60.05zm0-281.39c0 20.22-9.09 38.2-22.93 49.09l-134.37 120c-2.5 2.14-5.74-1.31-3.94-4.19l49.29-98.69c1.38-2.76-.41-6.16-3.25-6.16H260.29c-29.61 0-53.84-27.02-53.84-60.05s24.23-60.05 53.84-60.05h252.54c29.61 0 53.83 27.02 53.83 60.05z" / >
2018-12-07 18:43:22 +01:00
< / svg >
2018-07-03 16:42:53 +02:00
< / div >
2018-12-07 18:43:22 +01:00
< div id = "invoice_loading_indicator" > < / div >
< / div >
< div id = "invoice-success" class = "alert alert-success" >
Upgrade complete! The page will now reload.
< / div >
2018-07-03 16:42:53 +02:00
< / div >
2020-06-09 12:24:32 +02:00
< div class = "tab-pane" id = "sponsorship" >
< div id = "sponsorship-error" class = "alert alert-danger" > < / div >
< div id = "sponsorship-input-section" >
< form id = "sponsorship-form" method = "post" >
< label >
< h4 > Organization type< / h4 >
< / label >
2022-12-26 11:12:15 +01:00
< select name = "organization-type" class = "bootstrap-focus-style" >
2021-07-09 19:56:55 +02:00
{% for org_type in sorted_org_types %}
2021-07-19 03:50:41 +02:00
{% if not org_type[1].hidden %}
< option data-string-value = "{{ org_type[0] }}"
{% if org_type[1].id == realm_org_type %}selected{% endif %}
value="{{ org_type[1].id }}">
{{ _(org_type[1].name) }}
< / option >
2021-07-09 19:56:55 +02:00
{% endif %}
{% endfor %}
2020-06-09 12:24:32 +02:00
< / select >
2021-04-21 00:46:14 +02:00
< br / >
2020-06-09 12:24:32 +02:00
< label >
< h4 > Organization website< / h4 >
< / label >
2023-02-12 23:58:59 +01:00
< input name = "website" type = "text" class = "input-large" placeholder = "{{ _('Leave blank if your organization does not have a website.') }}" / >
2020-06-09 12:24:32 +02:00
< label >
< h4 > Describe your organization briefly< / h4 >
< / label >
2023-02-12 23:58:59 +01:00
< textarea name = "description" cols = "100" rows = "5" required > < / textarea >
2021-04-21 00:46:14 +02:00
< br / >
2020-06-09 12:24:32 +02:00
< p id = "sponsorship-discount-details" > < / p >
2021-12-27 21:25:38 +01:00
<!-- Disabled buttons do not fire any events, so we need a container div that isn't disabled for tippyjs to work -->
< div class = "upgrade-button-container" { % if is_demo_organization % } data-tippy-content = "{% trans %}Convert demo organization before upgrading.{% endtrans %}" { % endif % } >
< button type = "submit" id = "sponsorship-button" class = "stripe-button-el invoice-button" { % if is_demo_organization % } disabled { % endif % } >
Submit
< / button >
< / div >
2020-06-09 12:24:32 +02:00
< / form >
< / div >
< div id = "sponsorship-loading" >
< div class = "zulip-loading-logo" >
2020-07-16 04:59:13 +02:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 773.12 773.12" >
< circle cx = "386.56" cy = "386.56" r = "386.56" / >
< path d = "M566.66 527.25c0 33.03-24.23 60.05-53.84 60.05H260.29c-29.61 0-53.84-27.02-53.84-60.05 0-20.22 9.09-38.2 22.93-49.09l134.37-120c2.5-2.14 5.74 1.31 3.94 4.19l-49.29 98.69c-1.38 2.76.41 6.16 3.25 6.16h191.18c29.61 0 53.83 27.03 53.83 60.05zm0-281.39c0 20.22-9.09 38.2-22.93 49.09l-134.37 120c-2.5 2.14-5.74-1.31-3.94-4.19l49.29-98.69c1.38-2.76-.41-6.16-3.25-6.16H260.29c-29.61 0-53.84-27.02-53.84-60.05s24.23-60.05 53.84-60.05h252.54c29.61 0 53.83 27.02 53.83 60.05z" / >
2020-06-09 12:24:32 +02:00
< / svg >
< / div >
< div id = "sponsorship_loading_indicator" > < / div >
< / div >
2021-08-29 15:33:29 +02:00
< div id = "sponsorship-success" class = "alert alert-info" >
2020-06-09 12:24:32 +02:00
Request received! The page will now reload.
< / div >
< / div >
2018-11-18 10:18:14 +01:00
< / div >
< div class = "support-link" >
2018-10-23 21:06:15 +02:00
< p >
2018-11-18 10:18:14 +01:00
We're happy to help!
2020-05-28 02:00:13 +02:00
Contact < a href = "mailto:support@zulip.com" > support@zulip.com< / a >
2018-11-18 10:18:14 +01:00
for any billing-related questions.
2018-10-23 21:06:15 +02:00
< / p >
2018-11-18 10:18:14 +01:00
< / div >
2018-03-31 04:13:44 +02:00
< / div >
2018-07-03 16:42:53 +02:00
< / div >
2018-03-31 04:13:44 +02:00
< / div >
< / div >
{% endblock %}