2018-07-03 16:42:53 +02:00
{% extends "zerver/portico.html" %}
2018-03-31 04:13:44 +02:00
{% block customhead %}
2018-07-03 16:42:53 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
{{ render_bundle('landing-page') }}
2018-09-06 10:14:24 +02:00
{{ render_bundle('billing') }}
2018-03-31 04:13:44 +02:00
{% endblock %}
{% block content %}
< div class = "app portico-page" >
2018-07-03 16:42:53 +02:00
{% include 'zerver/billing_nav.html' %}
2018-03-31 04:13:44 +02:00
{{ render_bundle('translations') }}
2018-07-03 16:42:53 +02:00
< div class = "portico-landing billing-upgrade-page" >
< div class = "hero small-hero" > < / div >
< div class = "page-content" >
< div class = "main" >
2018-07-13 13:33:05 +02:00
{% if error_message %}
< div class = "alert alert-danger" id = "error-message-box" >
{{ error_message }}
< / div >
{% endif %}
2018-07-03 16:42:53 +02:00
< h1 > {% trans %}Upgrade to {{ plan }}{% endtrans %}< / h1 >
< form method = "post" >
{{ csrf_input }}
< input type = "hidden" name = "seat_count" value = "{{ seat_count }}" >
2018-07-13 13:33:05 +02:00
< input type = "hidden" name = "signed_seat_count" value = "{{ signed_seat_count }}" >
< input type = "hidden" name = "salt" value = "{{ salt }}" >
2018-07-03 16:42:53 +02:00
< div class = "payment-schedule" >
< h3 > {{ _("Payment schedule") }}< / h3 >
< label >
2018-08-07 15:37:22 +02:00
< input type = "radio" name = "plan" value = "{{ nickname_annual }}" data-amount = "{{ cloud_annual_price }}" checked / >
2018-07-03 16:42:53 +02:00
< div class = "box" >
2018-08-06 18:56:45 +02:00
< div class = "schedule-time annually" > {{ _("Pay annually") }}< / div >
2018-07-03 16:42:53 +02:00
< div class = "schedule-amount" >
2018-08-07 15:37:22 +02:00
${{ cloud_annual_price_per_month }}/user/month
2018-07-03 16:42:53 +02:00
< div class = "schedule-amount-2" >
2018-08-07 15:37:22 +02:00
(${{ cloud_annual_price }}/user/year)
2018-07-03 16:42:53 +02:00
< / div >
< / div >
< / div >
< / label >
< label >
2018-08-07 15:37:22 +02:00
< input type = "radio" name = "plan" value = "{{ nickname_monthly }}" data-amount = "{{ cloud_monthly_price }}" / >
2018-07-03 16:42:53 +02:00
< div class = "box" >
< div class = "schedule-time" > {{ _("Pay monthly") }}< / div >
2018-08-07 15:37:22 +02:00
< div class = "schedule-amount" > ${{ cloud_monthly_price }}/user/month< / div >
2018-07-03 16:42:53 +02:00
< / div >
< / label >
< / div >
2018-10-23 21:06:15 +02:00
< p >
You’ ll initially be charged
< b > $< span id = "charged_amount" > {{ cloud_annual_price * seat_count }}< / span > < / b >
for < b > {{ seat_count }}< / b > users. We’ ll automatically charge you
when new users are added, or give you credit when users are deactivated.
< / p >
2018-07-03 16:42:53 +02:00
< script src = "https://checkout.stripe.com/checkout.js" class = "stripe-button"
data-key="{{ publishable_key }}"
data-image="/static/images/logo/zulip-icon-128x128.png"
data-name="Zulip"
data-description="Zulip Cloud Premium"
data-locale="auto"
data-zip-code="true"
data-billing-address="true"
data-panel-label="Make payment"
data-email="{{ email }}"
data-label="{{ _('Add card') }}"
data-allow-remember-me="false"
>
< / script >
2018-08-07 15:37:22 +02:00
< script >
const seat_count = parseInt($('input[name=seat_count]').val());
$("input[type=radio][name=plan").change(function () {
var charged_amount = parseInt($(this).data("amount")) * seat_count;
$("#charged_amount").html(charged_amount);
});
< / script >
2018-07-03 16:42:53 +02:00
< / form >
< p > We can also bill by invoice for annual contracts over $2,000. Contact < a href = "mailto:support@zulipchat.com" > support@zulipchat.com< / a > to pay by invoice or for any other billing questions.< / p >
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 %}