Andrew Brown
755bcab0af
billing pages
2025-07-17 12:42:05 -07:00
Andrew Brown
d69f8f80c7
more stripe safety
2025-07-11 00:37:50 -07:00
Andrew Brown
cd8c948fcd
stripe safety
2025-07-11 00:27:16 -07:00
Andrew Brown
ac96a001a8
Fix Stripe subscription errors by migrating deprecated sources API to payment_methods API
...
- Migrate from deprecated sources API to modern payment_methods API in SubscriptionsController
- Update subscription plan modifications to use Subscription.modify instead of direct assignment
- Fix payment method creation/deletion to use PaymentMethod.create/detach instead of sources
- Update view templates to use new payment_methods data structure
- Migrate price.id usage from deprecated plan.id in data integrity tasks
- Add comprehensive test suite with proper Stripe API stubs
- Add missing test gems: rspec-rails, webmock, factory_bot_rails, shoulda-matchers
This resolves Error 500 when users try to upgrade to Premium subscriptions.
The original error was: NoMethodError - undefined method 'total_count' for nil:NilClass
caused by stripe_customer.sources.total_count when sources API returned nil.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 23:40:36 -07:00
Andrew Brown
c5a69b2c76
manually increase upload bandwidth for users activating paypal codes
2023-11-12 04:18:03 -08:00
drusepth
5c3c76a002
add billing faq
2022-10-24 16:56:22 -07:00
drusepth
5bd1f9c6b6
add notification open rate admin page + reference codes on system notifications
2021-12-15 14:53:03 -08:00
Andrew Brown
6021e60a60
remove mixpanel
2021-07-18 00:50:12 -07:00
Andrew Brown
fce2a29303
move referrals logic from sub to data controller
2020-08-28 13:13:51 -07:00
Andrew Brown
e8e81de8a9
clean up billing page
2020-08-28 13:05:38 -07:00
Andrew Brown
93344c49f3
notification for activating a premium code
2020-04-20 21:38:27 -05:00
Andrew Brown
84afb58af0
subscription page improvements wrt codes
2020-03-24 16:43:59 -05:00
Andrew Brown
f2663fddb1
polish
2020-01-18 14:23:28 -06:00
Andrew Brown
2deb04aa4c
polish
2020-01-17 21:34:34 -06:00
Andrew Brown
3ca72c742c
staging changes
2020-01-17 17:37:09 -06:00
Andrew Brown
d7c05b1731
polishing
2020-01-16 20:57:56 -06:00
Andrew Brown
4082bbae2b
Oh hey look it's paypal
2020-01-16 16:54:51 -06:00
Andrew Brown
786c8f5cfc
add referrals page
2020-01-09 14:37:39 -06:00
Andrew Brown
7296651126
add separate billing history page
2020-01-09 13:43:26 -06:00
Andrew Brown
bdc70e73f8
Migrate Stripe v4 to v5, fixes issue reported in #531
2019-12-13 15:51:47 -06:00
Andrew Brown
d9fb52f856
fix 500
2019-07-23 21:34:29 -05:00
Andrew Brown
c4308231d0
cleaning up
2019-07-07 21:40:44 -05:00
Andrew Brown
6c68975bd9
all the ui stuff for everything to work
2019-07-07 16:40:39 -05:00
Andrew Brown
54d773988c
only move users to a new plan when one is provided
2018-10-18 12:49:22 -05:00
Andrew Brown
dea9301faf
use redirect_back for subscription changes
2018-09-08 23:19:09 -05:00
Andrew Brown
2934c4493c
fix redirects
2018-03-03 17:03:49 -06:00
Andrew Brown
ee06aa29d2
subscriptions refactor
2018-03-03 16:49:08 -06:00
Andrew Brown
faa3e0b1b4
Authenticate users in subscription controller
2018-03-03 14:08:58 -06:00
Andrew Brown
af1bcf05ea
initialize stripe sub for returning subs
2018-02-22 14:58:54 -06:00
Andrew Brown
f3a4af04e2
divide by cents
2017-11-11 18:08:29 +01:00
Andrew Brown
d1705323d2
pass tests by checking env until I can figure out how to mock Stripe::StripeObject#save
2017-11-10 16:40:38 +02:00
Andrew Brown
9c6b3711cc
fix bug in downgrading to starter being out of sync sometimes
2017-11-10 16:38:49 +02:00
Andrew Brown
9560c5b1e3
report correct sub counts to slack
2017-11-10 16:15:05 +02:00
Andrew Brown
f09bf94e39
Merge branch 'master' into collaboration
...
Conflicts:
app/controllers/content_controller.rb
2017-09-30 15:09:11 +02:00
Andrew Brown
7d9539388f
Only use mixpanel in production
2017-09-30 14:08:49 +02:00
Andrew Brown
e1e5c9bdfa
cleanup
2017-08-17 00:49:07 +02:00
Andrew Brown
6bab8f6cb3
Default billing plans should have 0 cents per month
2017-05-23 17:26:08 +00:00
Andrew Brown
310dd17ed0
If a user subscribes without a referrer, treat them as referring themselves
2017-05-03 17:51:25 +01:00
Andrew Brown
e731074e1c
syntax error
2017-04-27 21:31:29 +01:00
Andrew Brown
c6d93ee94f
Don't give extra kb for switching between premiums
2017-04-27 21:17:17 +01:00
Andrew Brown
b1eb2a8155
Add community drive infos to billing page
2017-04-17 21:47:25 +01:00
Andrew Brown
4aef7b9d83
Add raffle entries to users #datamigration
2017-04-17 20:08:58 +01:00
Andrew Brown
6ebb512085
Fix subscription reporting
2017-04-11 18:05:57 +01:00
Andrew Brown
5a14e17957
Verbiage tweaks on new plans
2017-04-11 17:01:25 +01:00
Andrew Brown
7e83fb1e1d
Verbiage change
2017-03-24 22:01:02 +00:00
Andrew Brown
2f7e199fff
Track total sub amount on premium changes
2017-03-24 21:37:18 +00:00
Andrew Brown
050baf7205
Fix: Subscriptions don't autorenew on expiration, so we create longer ones. Duration doesn't matter since we truncate all active ones on plan change.
2017-03-14 20:50:39 +00:00
Andrew Brown
963769e3c9
Add mixpanel action tracking for all server actions
2017-02-21 17:12:43 +00:00
Andrew Brown
3da3e694a6
Show bandwidth on billing page, up kb to 1GB for premium users
2017-02-18 02:55:59 +00:00
Andrew Brown
84f1e86ce7
Report subscriptions to Slack even if there's an issue with delta change
2017-02-06 17:42:22 +00:00