Commit graph

81 commits

Author SHA1 Message Date
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
Matt Lott
e3abb9ceb3 Capture active user metrics
Watching for these events:
Level completed
User registered
Playtime of 30s in a level
Purchase
Payment
Subscribe
Earned an achievement
2014-12-04 12:57:57 -08:00
Scott Erickson
7210de02e9 Set up stripe to get user emails so receipts can be emailed. 2014-12-03 16:36:03 -08:00
Nick Winter
65dde043c7 SubscribeModal is in. 2014-12-03 09:14:14 -08:00
Scott Erickson
aea1e39b58 Tweaked the subscription handler to act more like the payment handler when a card charge fails. It returns 402. 2014-12-02 20:40:33 -08:00
Scott Erickson
cd3bb690f4 Created stripe subscription logic. 2014-12-02 20:02:35 -08:00
Scott Erickson
5dcdabfd62 Refactored stripeCustomerID to stripe object in the user object so we can put more stuff in there. 2014-12-02 11:47:15 -08:00
Scott Erickson
1bd70591a0 Added new mongodb versions to be allowed.
Added error logging for every which reason a user may be unable to pay.
Added more info for users when they hit unknown errors.
2014-11-29 10:46:01 -08:00
Michael Schmatz
0ac0065753 Fixed payments 2014-11-28 11:07:37 -05:00
Nick Winter
ab6251281e Added a payment-received HipChat notification. 2014-11-25 13:20:09 -08:00
Scott Erickson
c77d38d59f Made sure Apple receipts can't be re-used with different accounts. 2014-11-21 10:34:37 -08:00
Scott Erickson
95dca575d1 Set up stripe on the server and site to allow purchases through the website. 2014-11-17 15:15:08 -08:00
Scott Erickson
7012d5dfbe Built payment endpoint for processing Apple IAPs. 2014-11-11 17:40:29 -08:00