Matt Lott
0768b533e2
Subs dashboard perf
...
Caching older (at least 16 days) Stripe invoices in analytics
collection, which will be updated once a day via the analytics server
cron job.
2015-07-31 16:19:40 -07:00
Matt Lott
7620ba00ad
🐛 Remove stripe_invoices API caching
2015-07-09 13:28:55 -07:00
Matt Lott
b6724b9d8d
bug:Fix subscriptions API variable naming collision
2015-07-09 12:21:32 -07:00
Matt Lott
6831355649
🐛 Fix subs dashboard monthly churn and perf
...
Use Stripe events API to calculate monthly churn.
Move Stripe API page handling to the client.
2015-07-08 17:34:34 -07:00
Matt Lott
72e458cc80
Unsubscribe deleted users
...
Fixes #2733
2015-06-18 15:02:19 -07:00
Matt Lott
d4d4d7bb25
🐛 Fix sub handler error typo
2015-06-18 15:02:19 -07:00
Matt Lott
5c240d89cd
Cancel recipient subscriptions immediately
2015-06-17 16:35:30 -07:00
Matt Lott
32b10b33e4
Update gem charge statement descriptors
...
Shown on bank statements and credit bills.
2015-06-05 14:58:44 -07:00
Matt Lott
9828bd5d1d
Sponsored sub cleanup on unsubscribe
...
Sponsored subscriptions can be partially set up when the incremental
subscription charge fails. This cleans up the sponsored subscriptions
when one of the recipient subscriptions is cancelled.
Related to #2786
2015-05-28 16:56:13 -07:00
Matt Lott
a8a55021b9
🐛 Fix unpaid charges yield payments
...
Unpaid charges should not be recorded as successful payments in our
database. Was happening when opening the buy gems modal again.
2015-05-19 11:41:11 -07:00
Matt Lott
08eff2b489
🐛 Fix admin dashboard invoice sorting
...
Bug was introduced by recent perf work.
2015-05-13 16:25:28 -07:00
Matt Lott
50f340ffbe
Update admin dashboard
...
Caching invoices again, but using a different method.
2015-05-12 10:09:08 -07:00
Matt Lott
6dc51e27e4
🐛 Admin dashboard deleted users
...
Also disabling invoice caching to see if that is what causes invalid
sub end counts.
2015-05-11 10:37:44 -07:00
Matt Lott
dd35a1eb76
Include sponsored cancels in dashboard
...
Also includes free teacher sub cancels, which should be an
insignificant number.
2015-05-08 11:34:59 -07:00
Matt Lott
0353be4fc4
Add recent cancellations table to dashboard
2015-05-06 15:23:46 -07:00
Matt Lott
67ee4e99a7
Remove subscription API debugging code
...
This was being used to debug analytics event logging problems in
production. Turned out to be a too many open files problem, unrelated
to this code.
2015-05-06 11:34:20 -07:00
Matt Lott
340713e721
Add subscription API debugging
...
Investigating elevated sub end counts in production over time from the
subscriptions API.
2015-05-06 11:34:20 -07:00
Matt Lott
a652b70728
Update admin dashboard conversion types
2015-05-04 17:38:34 -07:00
Matt Lott
afc3689dcc
Optimize recent subs api
2015-05-01 16:08:12 -07:00
Matt Lott
1ac249565a
Add debug logging to recent subs API
...
Unclear why this isn’t working in production.
2015-05-01 11:08:17 -07:00
Matt Lott
5305d80887
Add conversion info to admin dashboard
2015-05-01 09:37:47 -07:00
Matt Lott
59de47069a
Add sponsored subs to admin dashboard
2015-04-23 13:34:43 -07:00
Matt Lott
502a47e912
Admin dashboard perf
...
Find subscription cancellations via events API instead of walking each
customer and their subscriptions.
2015-04-21 15:58:45 -07:00
Matt Lott
474986f3cb
Admin dashboard perf work
...
Cache invoices on app server, assume they are always fetched most
recent to least.
2015-04-20 17:10:41 -07:00
Matt Lott
4669d4cb0a
Update admin subs dashboard
...
Break up lengthy server calls to reduce timeouts in production.
2015-04-11 10:36:03 -07:00
Matt Lott
5c40221ab2
Update admin subs dashboard
...
Using invoices to aggregate totals which should provide a more accurate
growth rate.
2015-04-10 11:27:59 -07:00
Matt Lott
3c755d39e6
Add recent subscribers to admin dashboard
2015-04-07 15:00:53 -07:00
Matt Lott
532e8133c6
Add graph to sub counts admin page
2015-03-27 15:27:34 -07:00
Matt Lott
53de6c6134
Add current subscription counts view under the admin page
2015-03-27 15:27:34 -07:00
Michael Schmatz
a16ae2b5bc
Changed read prefs and enabled middleware
2015-03-21 21:49:32 -04:00
Michael Schmatz
5a7666fca3
More read nearests and changed redirection
2015-03-20 16:33:03 -04:00
Matt Lott
fec3ac38e9
Prepaid subscriptions
...
Admins can generate a prepaid code, which a user can use to subscribe
for free via the account/subscription page.
The subscription will be identical to the normal monthly subscription
(e.g. 3500 gems per month), except they won’t be charged.
Does not require the recipient to enter billing information.
Can be applied to an existing subscription, which will be converted to
free.
Prepaid code can only be used once.
Prepaid subscription cannot be unsubscribed via the UI.
2015-03-19 15:04:15 -07:00
Matt Lott
af89452b93
Merge branch 'sponsored-subs'
2015-03-13 15:19:20 -07:00
Matt Lott
cd59b90e37
Add custom payments
...
Example:
https://codecombat.com/account/invoices?a=21600&d=9%20monthly%20subscrip
tions
2015-03-04 15:40:53 -08:00
Nick Winter
1ba79b83a9
Added a script to recalculate all gems purchased.
2015-02-20 11:11:12 -08:00
Nick Winter
760f2d35bb
Fixed bug with checkStripeCharges also trying to match iOS charges.
2015-02-09 08:31:44 -08:00
Nick Winter
a189e32948
Refactored sending of HipChat room messages.
2015-02-04 16:17:53 -08:00
Nick Winter
58716f5b75
Revert "Fixed #1076 , and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose."
...
Saw that this caused 500s on /auth/whoami with no cookies set, with this error:
debug: 500: MongoError: E11000 duplicate key error index: coco.users.$emailLower_1 dup key: { : null }
Probably we need to be much more careful about what changes this blanket change to the minimize Mongoose option might introduce, since tests didn't catch this, but it would have taken the site down for anyone not logged in already.
This reverts commit 121f07d020
.
2015-01-09 18:30:05 -08:00
Scott Erickson
121f07d020
Fixed #1076 , and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose.
2015-01-09 11:56:54 -08:00
Nick Winter
3b2bebf427
Ended HoC sale.
2014-12-13 09:00:33 -08:00
Scott Erickson
b0de331a10
Shored up stripe transaction payment defences to try and fix #1906 .
2014-12-12 15:27:58 -08:00
Matt Lott
0c81942c71
2nd HoC sub sale
2014-12-11 18:39:03 -08:00
Matt Lott
d4cfaac7e5
Sub price test
2014-12-10 16:05:55 -08:00
Nick Winter
a97baa2207
HoC sale.
2014-12-09 06:06:14 -08:00
Scott Erickson
aac1aa379e
Set up stubs for future subscription sales.
2014-12-06 12:38:06 -08:00
Scott Erickson
f4e3416918
Set up an endpoint for fetching Stripe info.
2014-12-05 17:19:52 -08:00
Scott Erickson
e8bb5b824d
Tweaked the subscription handler to modify the actual target user, not necessarily the user that is making the changes.
2014-12-05 15:49:46 -08:00
Scott Erickson
209836c172
Fixed user patching to not also unsubscribe subscribers.
2014-12-05 14:11:38 -08:00
Scott Erickson
d0ee8cb7c7
Set up the server to allow admins to assign customers coupons. Fixed up how customers are created/updated by the server to allow setting new payment information rather than forever using the payment info first provided.
2014-12-04 17:41:27 -08:00
Scott Erickson
0edf4e0ca1
Fixed a MailChimp test. Fixed payment and subscription handlers to deny anonymous users. Hid the subscribe button from anonymous users.
2014-12-04 13:07:07 -08:00