Prakhar Pratyush
2883bd92c2
test_stripe: Add E2E test for deactivate registration with bouncer.
2023-12-23 14:58:52 -08:00
Aman Agrawal
e192aef23d
billing: Apply a flat discount for self hosted plans.
2023-12-20 23:09:21 -08:00
Karl Stolley
a37354f92a
corporate: Add a Basic plan.
2023-12-20 23:09:21 -08:00
Lauryn Menard
653901fc30
support: Update remote server support search test.
...
Creates some reusable helper functions and adds remote realms to
the search results that are checked, which gives coverage for the
remote realm user counts in the support view.
2023-12-19 14:44:26 -08:00
Lauryn Menard
f56923fafa
support: Format ARR column as dollar amount in remote activity view.
2023-12-19 14:44:26 -08:00
Lauryn Menard
9e9fec68a1
support: Add plan's estimated annual revenue to remote support view.
...
Also fixes formatting for per license price and moves the billing
schedule to be above this line so that it's clearer the per license
price is based on the billing schedule.
2023-12-19 14:44:26 -08:00
Lauryn Menard
fb3bd0cde1
support: Add user count data to remote support view.
2023-12-19 14:44:26 -08:00
Lauryn Menard
649cc15220
corporate: Shorten plan status strings.
2023-12-19 14:01:43 -08:00
Prakhar Pratyush
63bb63ad80
corporate: Remove '#nocoverage' comments.
...
This commit removes '#nocoverage' comment as we have added
few E2E tests in 'test_stripe.py'.
2023-12-19 10:59:38 -08:00
Prakhar Pratyush
f278e21c7a
test_stripe: Add legacy remote server schedule upgrade E2E test.
2023-12-19 10:59:38 -08:00
Prakhar Pratyush
2a6c93a2b9
test_stripe: Add remote server non-sponsorship E2E test.
2023-12-18 23:49:03 -08:00
Prakhar Pratyush
1380319708
test_stripe: Improve non-sponsorship remote realm billing test.
...
This commit improves the test to check the internal states
of the database e.g. check what /billing/ says about the
next renewal date and amount.
2023-12-18 23:49:03 -08:00
Aman Agrawal
b2faa5c5bb
stripe: Add a CustomerPlan for self hosted sponsored customers.
2023-12-18 12:55:34 -08:00
Aman Agrawal
d4a852e97c
stripe: Save a query to get CustomerPlan for sponsored customers.
2023-12-18 12:55:34 -08:00
Aman Agrawal
d962814a30
upgrade: Make it possible to upgrade to a provided tier.
...
Main work is maintaining context during various redirects and
and passing the context to the final upgrade process.
2023-12-18 12:23:46 -08:00
Aman Agrawal
1326619b77
stripe: Provide min license count to template as per tier.
2023-12-18 12:23:46 -08:00
Tim Abbott
5dc1d36f73
zilencer: Fix community plan push notifications.
2023-12-17 09:36:47 -08:00
Aman Agrawal
311a645c5a
sponsorship_request: Minor changes.
...
* Show if requested org is hosted on Zulip Cloud.
* Change how user numbers are displayed.
2023-12-17 09:33:37 -08:00
Aman Agrawal
6b1f71872b
plans: Fix same page hashtag link.
...
Fixes /plans fragment links redirecting users to different page.
2023-12-16 22:51:21 -08:00
Anders Kaseorg
cd96193768
models: Extract zerver.models.realms.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
45bb8d2580
models: Extract zerver.models.users.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Alex Vandiver
940c2a1ded
remote_billing_page: Allow deactivation logins with realm plans.
2023-12-15 14:04:35 -08:00
Karl Stolley
e44ba3b1f1
portico: Add new self-hosted plans.
...
Co-authored-by: Alya Abbott <alya@zulip.com>
2023-12-15 11:03:42 -08:00
Sahil Batra
03323b0124
push_notifications: Enforce max user count on self managed plan.
...
We do not support sending push notifications for realms having
more than 10 users on self managed plan.
2023-12-15 11:03:42 -08:00
Tim Abbott
10862451ef
billing: Refactor code to compute push status.
...
This moves the function which computes can_push and
expected_end_timestamp outside RemoteRealmBillingSession
because we might use this function for RemoteZulipServer
as well and also renames it.
2023-12-15 11:03:42 -08:00
Tim Abbott
9423ccecd4
docs: Document plan management login tips.
2023-12-15 11:03:42 -08:00
Tim Abbott
97799b279b
billing: Enable billing system in production.
2023-12-15 11:03:42 -08:00
Aman Agrawal
0fe725fdbd
test_stripe: Add tests to check sponsorship approval.
2023-12-15 09:08:48 -08:00
Prakhar Pratyush
1588f49b4f
test_stripe: Add end-to-end test for RemoteRealm billing flow.
2023-12-15 09:08:48 -08:00
Prakhar Pratyush
33e04362e1
test_stripe: Add 'billing_session" to StripeTest.
...
This prep commit adds a 'billing_session' field to StripeTest class.
Creates 'client_billing_get', 'client_billing_post', and
'client_billing_patch' helper functions.
This will help in reusing code for RemoteRealm and
RemoteZulipServer end-to-end tests.
2023-12-15 09:08:48 -08:00
Aman Agrawal
53b7e956ea
test_remote_billing: Extract remote server / realm login methods.
2023-12-15 09:08:48 -08:00
Prakhar Pratyush
c12a9eeb9c
stripe: Fix 'get_billable_licenses_for_customer' not using event_time.
...
The call to 'get_billable_licenses_for_customer' during the
'sync_license_ledger_if_needed' step should use the audit_log's
event_time while calculating 'current_count_for_billed_licenses'.
Earlier, it used timezone_now(), resulting in the latest user count
recorded corresponding to each audit log.
2023-12-15 08:09:31 -08:00
Aman Agrawal
11dff6b4d8
zilencer: Add tests for migrating customer from server to realm.
2023-12-14 14:31:28 -08:00
Alya Abbott
ba80084ea7
remote_billing_page: Deny login for server / remote realm.
...
If server has plan, deny login for realm.
If realm has plan, deny login for server.
Co-authored-by: Aman Agrawal <amanagr@zulip.com>
Co-authored-by: Alya Abbott <alya@zulip.com>
2023-12-14 14:25:12 -08:00
Tim Abbott
1757b88760
billing: Offer release announcement subscriptions.
...
Also avoid prompting for full name time more than once.
Adds TOS version field to Remote server user.
Co-authored-by: Karl Stolley <karl@zulip.com>
Co-authored-by: Aman Agrawal <amanagr@zulip.com>
2023-12-14 10:51:16 -08:00
Aman Agrawal
e02e0cd37e
models: Make it easier to debug current plan name and status.
...
`print(plan)` now works to know the plan tier and status.
2023-12-14 08:22:25 -08:00
Aman Agrawal
d795400b21
billing: Allow upgrade scheduled legacy orgs to view billing page.
...
Don't redirect them to sponsorship page.
2023-12-14 08:22:25 -08:00
Aman Agrawal
34a1be80a4
model: Use same name for legacy plan across the app.
2023-12-14 08:22:25 -08:00
Lauryn Menard
8bce83709f
corporate: Add billing support email constant.
...
Adds BILLING_SUPPORT_EMAIL to `stripe.py` with a value of
"sales@zulip.com" so that it can be consistently used in
billing code.
2023-12-14 08:12:01 -08:00
Mateusz Mandera
651590c49a
remote_billing: Store acting users in remote user audit logs.
2023-12-14 08:11:04 -08:00
Aman Agrawal
a5311c8032
stripe: End legacy plan before approving full sponsorship.
2023-12-13 22:29:30 -08:00
Tim Abbott
d040664952
billing: Set the legacy plan type when migrating.
2023-12-13 16:40:44 -08:00
Tim Abbott
6308e07e53
billing: Standardize remote server plan type IDs.
...
This will likely save us at least one headache.
2023-12-13 16:40:44 -08:00
Lauryn Menard
89545891f6
support: Filter remote realm data query for customer realm None.
2023-12-13 14:36:23 -08:00
Lauryn Menard
a897d68d93
support: Add active plan information to remote server activity.
...
Adds three columns to the remote server activity chart and updates
the chart key for the third of those columns.
The first is the plan name. If there are multiple plans with a
status under the live threshhold, then we send "See support view".
The second is the plan status. If there are multiple plans, then
we send "Multiple plans".
The third is the estimated annual revenue for the plan. Note that
for free trials, this will be calculated as if the plan was paid
for 12 months (so a full year).
If there is no plan for the server under the live threshold or at
all then "---" is inserted into the table row. Note that 100%
sponsored servers/realms would fall into this category.
2023-12-13 13:43:00 -08:00
Lauryn Menard
484c0df076
corporate: Move renewal_amount to BillingSession framework.
2023-12-13 13:43:00 -08:00
Lauryn Menard
e8500fbdb0
support: Include sponsorship request for remote server support view.
...
Preparation for updating the sponsorship forms template to include
information about the latest sponsorship request if sponsorship is
pending.
2023-12-13 10:28:11 -08:00
Aman Agrawal
9efb236c35
remote_billing_page: Fix redirects for self hosted login.
2023-12-13 08:13:33 -08:00
Aman Agrawal
081d94c4e8
stripe: Add user and org metadata to stripe payments.
2023-12-13 08:13:33 -08:00
Aman Agrawal
0c99420ceb
stripe: Don't approve sponsorship for customers on paid plan.
...
This would avoid us accidentally approving sponsorship for customers
on paid plan.
2023-12-13 08:13:33 -08:00