Rishi Gupta
4181d575b1
billing: Move Stripe call to end in do_subscribe_customer_to_plan.
...
In general, everything that could throw an error and that could come before
the Stripe call should do so.
2018-08-13 20:24:08 -07:00
Rishi Gupta
56d4034db4
billing: Require successful charge to establish billing relationship.
...
There are several situations in which we want to create a Customer and
stripe.Customer object before we really have a billing relationship with a
customer. The main one is giving non-profit or educational discounts.
2018-08-13 20:24:08 -07:00
Rishi Gupta
27d4b1a5f0
billing: Add RealmAuditLogProcessor.
2018-08-13 17:12:50 -07:00
Rishi Gupta
e804c563a8
billing: Update stripe error handling code.
2018-08-13 17:12:50 -07:00
Rishi Gupta
d0e377428a
billing: Fix typo in CONTACT_SUPPORT error message.
2018-08-10 22:48:10 -07:00
Rishi Gupta
2855864f54
billing: Rename RealmAuditLog.REALM_PLAN_QUANTITY_RESET.
2018-08-10 15:54:31 -07:00
Rishi Gupta
abc044e869
billing: Rename RealmAuditLog.REALM_PLAN_STARTED.
2018-08-10 15:54:31 -07:00
Rishi Gupta
d33d7e1c28
billing: Rename RealmAuditLog.REALM_CARD_ADDED.
2018-08-10 15:54:30 -07:00
Rishi Gupta
bdb6d8213f
billing: Rename RealmAuditLog.REALM_STRIPE_INITIALIZED.
2018-08-10 15:46:55 -07:00
Vishnu Ks
0c84260faa
billing: Enforce full coverage in zilencer/tests.
2018-08-10 13:52:35 -07:00
Vishnu Ks
4895637a5a
billing: Fix the BillingError description check in test.
...
The self.assertEqual statement won't get executed because
BillingError would be raised and the execution would exit
with block.
2018-08-10 13:52:35 -07:00
Vishnu Ks
d32051b106
billing: Test that salt and seat_count are set correctly in /upgrade.
2018-08-10 13:52:35 -07:00
Vishnu Ks
132480c031
billing: Pass email to stripe.Customer.create.
2018-08-10 13:52:35 -07:00
Vishnu Ks
d64ba5d2be
billing: Update the charged amount when user changes plan in upgrade page.
2018-08-10 13:52:35 -07:00
Yago González
6a192ac84c
utils: Move random API key generator as generate_api_key.
...
random_api_key, the function we use to generate random tokens for API
keys, has been moved to zerver/lib/utils.py because it's used in more
parts of the codebase (apart from user creation), and having it in
zerver/lib/create_user.py was prone to cyclic dependencies.
The function has also been renamed to generate_api_key to have an
imperative name, that makes clearer what it does.
2018-08-08 16:45:25 -07:00
Yago González
f6219745de
users: Get all API keys via wrapper method.
...
Now reading API keys from a user is done with the get_api_key wrapper
method, rather than directly fetching it from the user object.
Also, every place where an action should be done for each API key is now
using get_all_api_keys. This method returns for the moment a single-item
list, containing the specified user's API key.
This commit is the first step towards allowing users have multiple API
keys.
2018-08-08 16:35:17 -07:00
Rishi Gupta
2cdcf4b88f
billing: Rename get_upcoming_invoice.
2018-08-06 16:24:09 -04:00
Rishi Gupta
89ca1d0d97
billing: Rename get_stripe_customer.
2018-08-06 16:24:09 -04:00
Rishi Gupta
086b7d76e5
billing: Rename customer_with_active_subscription in fixture generation.
...
Fixes regression introduced in 79dddd5
.
2018-08-06 16:24:09 -04:00
Rishi Gupta
9f2b8a4a11
billing: Move checks from process_initial_upgrade into separate function.
2018-08-06 11:05:33 -04:00
Rishi Gupta
5719633992
billing: Update and unify billing error handling.
2018-08-06 11:05:33 -04:00
Rishi Gupta
79dddd5b80
billing: Rename customer_with_active_subscriptiion.
2018-08-06 11:05:33 -04:00
Vishnu Ks
18a9e4fc9c
billing: Call mock directly in test_subscribe_customer_to_second_plan.
2018-08-06 11:05:33 -04:00
Vishnu Ks
e06957bef5
billing: Raise exceptions instead of returning errors in upgrade flow.
2018-08-06 11:05:33 -04:00
Vishnu Ks
8643c681f0
billing: Separate initial upgrade logic to another function.
2018-08-06 11:05:33 -04:00
Vishnu Ks
fa7b98030b
billing: Add mock for cancel at period end subscriptions.
2018-08-04 19:17:34 -04:00
Vishnu Ks
d89e07b8a7
billing: Add mock and test for extracting canceled subscription.
2018-08-04 19:17:34 -04:00
Vishnu Ks
84b148728f
billing: Don't mock functions in test_extract_current_subscription.
2018-08-04 19:17:34 -04:00
Vishnu Ks
c2023eaaa8
billing: Mention the exact type of stripe.Customers subscriptions attribute.
2018-08-04 19:17:34 -04:00
Vishnu Ks
036ad03b3a
billing: Mention the exact return type for mock functions.
2018-08-04 19:17:34 -04:00
Vishnu Ks
8bcd4131fe
billing: Rename retrieve_customer fixture.
2018-08-04 19:17:34 -04:00
Vishnu Ks
b7d3a1a0f3
billing: Don't check for stripe key and plan objects in tests.
...
Stripe already returns an appropriate error in prod, and these checks are
just a hassle in tests.
Also fixes an error where the check for Plan.objects.exists() was missing
a "not".
2018-08-04 19:17:34 -04:00
Roman Godov
c0806917ec
models: Rename Realm.restricted_to_domain field.
...
This renames Realm.restricted_to_domain field to
emails_restricted_to_domains, for greater clarity as to what it does
just from seeing the setting name, without having to look it up.
Fixes part of #10042 .
2018-07-31 09:28:33 -07:00
Rishi Gupta
4554b564f7
billing: Rename RealmAuditLog.REALM_PLAN_QUANTITY_UPDATED.
2018-07-31 10:56:31 -04:00
Vishnu Ks
abf485bfcb
billing: Add mypy stubs to stripe imports.
...
Tweaked by tabbott to add an extra type: ignore.
2018-07-26 16:31:32 -07:00
Vishnu Ks
d7b7430af0
billing: Add test for subscribing customer to second plan.
2018-07-25 23:03:55 -07:00
Vishnu Ks
ba7db968d8
billing: Don't check for stripe config while running tests.
2018-07-25 23:03:55 -07:00
Vishnu Ks
51c82b6d4f
models: Rename PLAN_QUANITY_UPDATED event type.
2018-07-25 23:03:55 -07:00
Vishnu Ks
975969aa89
stripe: Check for the existence of Pan objects in dev environment.
2018-07-25 23:03:55 -07:00
Vishnu Ks
d6ed2c69be
billing: Don't use self.realm and self.user in tests.
2018-07-25 23:03:55 -07:00
Vishnu Ks
f98a86cdc2
billing: Don't show initial upgrade page in production for now.
2018-07-25 23:03:55 -07:00
Vishnu Ks
b88613fd0b
billing: Expand default_source object when retrieving customer.
2018-07-24 10:20:23 -07:00
Vishnu Ks
1225bfd6ee
billing: Don't use data attribute for iterating through subscriptions.
...
Iterating through data attribute is same as iterating through
subscriptions.
2018-07-24 10:20:23 -07:00
Vishnu Ks
0bcc0ca0d8
stripe: Fix type of stripe_customer_id.
2018-07-24 10:20:23 -07:00
Vishnu Ks
15eff517f4
billing: Verify that plan names are not tampered.
2018-07-24 08:04:00 -07:00
Vishnu Ks
82fc82b7e2
billing: Sign and verify the seat count during upgrade.
2018-07-24 08:04:00 -07:00
Vishnu Ks
d75054fb15
billing: Add function to sign strings.
2018-07-24 07:16:12 -07:00
Tim Abbott
888434e6cd
test_stripe: Delete broken test.
...
This is an expedient way to fix master failing, which it has been
since f2861442f7
.
2018-07-23 22:20:12 -07:00
Vishnu Ks
eb48197f67
billing: Get upcoming invoice only if there is a live subscription.
2018-07-23 19:18:17 -07:00
Vishnu Ks
f2861442f7
billing: Enforce Customer can have only one live subscription at a time.
2018-07-23 19:03:36 -07:00