Commit Graph

395 Commits

Author SHA1 Message Date
Justin DiRose 11d9b2e011
FIX: If only one plan, automatically select it 2020-07-28 11:08:21 -05:00
Justin DiRose 9491f558ea
FEATURE: Add support for 3D Secure payments (#19)
Adds an additional checkout flow to support authentication of payment methods.
2020-07-24 15:07:18 -05:00
Justin DiRose 587661fafb
FEATURE: Allow one-time purchases on products (#18)
Building off the foundation of using the Prices API, this PR adds the ability to create a one-time purchase plan for any product, which then can add a user to the specified plan group.

Some things to be aware of:

    One-time purchases cannot have trials.
    One-time purchases use the Invoice API instead of Subscriptions. Invoices are created then charged immediately.
    Users should receive emails for these invoices directly from Stripe just like subscriptions.
2020-07-22 11:06:34 -05:00
Justin DiRose c9ff55b46a
REFACTOR: Use the Prices API in place of Plans (#17)
Stripe has a newer API called Prices where you can create a price for any product and it can either be recurring or one-time. The easy part is existing Plans work with the Prices API by passing a Plan ID, but objects are returned in the slightly-different Prices API object format.

This commit is a refactor to the new API to handle the data in its new form, and lays the foundation for a one time payment plan to be added to any subscriptions product.
2020-07-15 08:44:40 -05:00
Mark VanLandingham 8bcb7aa93c
DEV: Import getURL to fix deprecation warnings (#16) 2020-07-07 13:50:16 -05:00
Justin DiRose 88f36c18a6
FEATURE: Add BRL currency support 2020-06-30 10:13:05 -05:00
Justin DiRose 892c889c31
FIX: Products & Subscriptions returned blank 2020-06-08 15:09:41 -05:00
Justin DiRose 9c46794e80
DEV: Remove deprecations & improve error handling (#12)
- Replace deprecated methods on client
- Fix broken dropdowns due to select kit 2 upgrade
- Graceful error handling when Stripe keys are not configured but plugin enabled
2020-05-28 10:32:57 -05:00
Justin DiRose fb4fac197b
REFACTOR: Use models to store data (#11)
* REFACTOR: Use api to add subscribe link

* FIX: I18n subscribe link

* REFACTOR: Use models to store some data

This enables the plugin to show only subscription information which was
generated on Discourse. Subscription data storage is limited to the
external identifiers Stripe generates so we can interact with the API.

* DEV: Test/linting fixes/rake task
2020-05-22 11:20:05 -05:00
Roman Rizzi 7ba08ab7da
FIX: Discourse.Model was removed. Use EmberObject instead (#10) 2020-05-06 19:06:14 -03:00
Raj Rathore 9153126f59 fix(coding-style): now consistent with existing coding style of the project 2020-04-23 17:17:06 +05:30
Raj Rathore 53a11872ef fix(coding-style): linting changes reverted to be consistent with existing style 2020-04-23 17:11:00 +05:30
Raj Rathore 30299a5f13 fix(currency-symbol): hard-coded dollar symbol removed 2020-04-23 16:06:02 +05:30
Raj Rathore f91b257198 feat(currency-inr): inr added to supported currencies 2020-04-16 01:57:56 +05:30
Rimian Perkins 48c606908a disable billing interval when cannot change 2020-03-21 20:30:30 +11:00
Rimian Perkins 071e1d6cb5 whoops prettier complaint 2020-01-14 20:15:54 +11:00
Rimian Perkins b83da467d0 respond to incomplete payment 2020-01-14 18:46:48 +11:00
Rimian Perkins 2bc780c4f9 Merge branch 'feature/one-time-payment' of github.com:rimian/discourse-subscriptions into feature/one-time-payment 2019-12-18 08:47:17 +11:00
Rimian Perkins 49ac965b24 tidy some scss class names etc 2019-12-18 08:47:01 +11:00
Rimian Perkins 9176471551 toggle single payments allowed setting 2019-12-17 21:14:13 +11:00
Rimian Perkins bf4fdd18ef fix white space 2019-12-17 17:43:30 +11:00
Rimian Perkins 52db93ecd8 user payments page 2019-12-17 16:31:58 +11:00
Rimian Perkins 38c444c489 tidy scss a bit 2019-12-16 13:59:58 +11:00
Rimian Perkins 7d3ca0421a rm old donation form 2019-12-16 10:59:59 +11:00
Rimian Perkins b79eed42ef redirect and rm activity connector 2019-12-16 10:47:59 +11:00
Rimian Perkins 55f4592033 subscription and billing templates 2019-12-16 10:42:55 +11:00
Rimian Perkins 8264930e92 user activity link to payments 2019-12-13 13:44:25 +11:00
Rimian Perkins 53ed40bfc3 fix api routes and eslint 2019-12-13 12:29:34 +11:00
Rimian Perkins 4b334a69b5 remove subscribe index 2019-12-13 11:54:32 +11:00
Rimian Perkins 57fb508514 buttons for selecting price and one time payment 2019-12-13 10:41:14 +11:00
Rimian Perkins e27b55ea6f customer declared already in upper scope 2019-12-12 13:45:16 +11:00
Rimian Perkins 831e64317b refactor models, routes and buttons 2019-12-12 12:59:26 +11:00
Rimian Perkins ff1740d035 validate plan 2019-12-10 10:55:24 +11:00
Rimian Perkins 86bc9bb3e6 rm redundant action 2019-12-10 10:15:30 +11:00
Rimian Perkins 1c31884475 show the plans in the buttons proper 2019-12-09 12:01:10 +11:00
Rimian Perkins 71d6c6dab2 display the plan in the plan buttons 2019-12-09 10:30:34 +11:00
Rimian Perkins d3eed3546d test button click 2019-12-06 14:33:38 +11:00
Rimian Perkins 2ce314fc8d initial payment buttons component 2019-12-06 13:52:03 +11:00
Rimian Perkins 09bfe419d8 set new product inactive by default 2019-12-05 17:07:26 +11:00
Rimian Perkins 7db60e2c4b tidy up the user subscription list 2019-12-05 14:59:07 +11:00
Rimian Perkins 80b721ddd8 rename some settings 2019-12-04 11:53:05 +11:00
Rimian Perkins 49591130a5 wrapping with longer names 2019-12-04 09:35:07 +11:00
Rimian Perkins 21b8340f4f rename the translations 2019-12-04 09:29:13 +11:00
Rimian Perkins 6d71d26574 rename assets 2019-12-03 11:51:18 +11:00
Rimian Perkins ccb6e5fcbd prettier does not like line lengths 2019-12-03 10:52:46 +11:00
Rimian Perkins 08cbff0c1c change engine mount point and base path in jsapp 2019-12-03 10:29:44 +11:00
Rimian Perkins 382fd4ac41 name space the js admin 2019-12-02 18:58:14 +11:00
Rimian Perkins b1db6e7a4c set currency 2019-11-30 17:44:16 +11:00
Rimian Perkins 8afae3f3f2 fx prettier 2019-11-30 16:46:38 +11:00
Rimian Perkins 709aebb593 set the currency in the plan 2019-11-30 16:39:28 +11:00
Rimian Perkins b4429e4473 rm extra line prettier is complaining about 2019-11-29 15:26:33 +11:00
Rimian Perkins 947ec4338e css the card 2019-11-29 15:08:51 +11:00
Rimian Perkins 7580b68711 rm extra line in product page 2019-11-29 10:16:00 +11:00
Rimian Perkins 298e70b32a delete customer record 2019-11-28 20:44:38 +11:00
Rimian Perkins e5753095d8 cannot subscribe to a product twice 2019-11-28 20:11:48 +11:00
Rimian Perkins ca00b530aa show the product name in subscription lists 2019-11-27 10:48:30 +11:00
Rimian Perkins 3e4fd76891 show product and plan nickname in admin 2019-11-26 12:55:49 +11:00
Rimian Perkins b65fd5568a upgrade prettier 2019-11-19 11:01:55 +11:00
Rimian Perkins 75f5ec4393 fix missing radix on parseInt 2019-11-19 10:21:05 +11:00
Rimian Perkins b3b7d88481 spinner on subscription cancel 2019-11-14 14:07:45 +11:00
Rimian Perkins d9b5aa6a35 loading on subscription page 2019-11-14 13:43:18 +11:00
Rimian Perkins 3999e1f7fd style the product page a bit 2019-11-14 11:13:12 +11:00
Rimian Perkins 399dca953a Merge branch 'feature/logged-in-subscribe-page' of github.com:rimian/discourse-patrons into feature/logged-in-subscribe-page 2019-11-14 10:51:27 +11:00
Rimian Perkins 6590d8051c delete subscriptions in admin 2019-11-14 10:51:04 +11:00
Rimian Perkins 370566b570 only show subscribe buttons when logged in 2019-11-14 09:47:15 +11:00
Rimian Perkins 0f17acc47e rm unused var 2019-11-13 15:33:53 +11:00
Rimian Perkins 5fdd81ac77 link to user admin 2019-11-13 15:27:32 +11:00
Rimian Perkins 8aed6b8d30 add link to user 2019-11-13 14:21:21 +11:00
Rimian Perkins dafa08f43e disable dashboard 2019-11-07 12:09:40 +11:00
Rimian Perkins 482ce178d5 pretty js 2019-11-06 20:59:35 +11:00
Rimian Perkins 78cbfc2652 rm unused arg 2019-11-06 20:51:16 +11:00
Rimian Perkins 4a812ceff6 toggle the subscribe button 2019-11-06 20:43:16 +11:00
Rimian Perkins e14b4dcd96 the subscribe product page 2019-11-04 16:37:21 +11:00
Rimian Perkins 2b3c52bdd4 name space user subscription request 2019-11-01 13:43:09 +11:00
Rimian Perkins e3ac6f7dac date format and product description 2019-11-01 12:30:19 +11:00
Rimian Perkins 86c77a7395 rubocop && fix i18n 2019-11-01 10:50:34 +11:00
Rimian Perkins 3dfa261c19 serialize and order the plans 2019-11-01 10:18:57 +11:00
Rimian Perkins 5fe08c110f format some currency 2019-10-31 14:35:19 +11:00
Rimian Perkins bec2d57920 pretty 2019-10-31 13:31:24 +11:00
Rimian Perkins b0a4665bf4 set the dollar amount 2019-10-31 13:29:11 +11:00
Rimian Perkins 1074d84901 feedback error when plan creates and updates 2019-10-31 12:41:02 +11:00
Rimian Perkins ced4d1c786 format the amount in admin 2019-10-31 11:41:01 +11:00
Rimian Perkins 842fac9176 format the rate in the plan model 2019-10-31 10:44:46 +11:00
Rimian Perkins dbaa30ba18 user cancels subscription 2019-10-31 10:01:41 +11:00
Rimian Perkins 03cbc235b1 list customer subscriptions 2019-10-30 14:19:43 +11:00
Rimian Perkins ee0901aeca delete subscription 2019-10-29 14:35:07 +11:00
Rimian Perkins 2a985ae554 fix subscribe request 2019-10-29 14:15:13 +11:00
Rimian Perkins 7edb0fe39b list subscriptions 2019-10-29 11:43:32 +11:00
Rimian Perkins 5a7097b774 billing/subscriptions 2019-10-28 14:48:59 +11:00
Rimian Perkins 87c83abcd3 add basic invoices page 2019-10-28 14:05:58 +11:00
Rimian Perkins 1f7549060d fix eslint and rubocop 2019-10-25 14:00:59 +11:00
Rimian Perkins 570ef2fbb4 use the billing page 2019-10-25 13:55:57 +11:00
Rimian Perkins 948399662d transition to billing after payment 2019-10-25 13:40:03 +11:00
Rimian Perkins edd6449105 basic user billing page 2019-10-25 13:23:32 +11:00
Rimian Perkins 9e981c3dae whoops translation 2019-10-25 13:18:18 +11:00
Rimian Perkins 4d2d98037a fix paths to translations 2019-10-25 11:13:14 +11:00
Rimian Perkins 6fbcea2cf3 product controller 2019-10-25 08:18:16 +11:00
Rimian Perkins 5f71def8a4 format the select dropdowns for plans 2019-10-24 16:51:58 +11:00
Rimian Perkins 21b27f169a show a bootbox message instead of console log 2019-10-24 16:37:14 +11:00
Rimian Perkins eead6fd345 user group specs. help page 2019-10-24 15:48:03 +11:00