Commit Graph
216 Commits
Author SHA1 Message Date
Discourse Translator Bot 52817018aa Update translations (#32) 2020-11-24 17:21:39 +01:00
Discourse Translator Bot e2485b58a1 Update translations (#31) 2020-11-03 18:06:40 +01:00
Justin DiRose b92627677f FEATURE: Implement refunds from dashboard (#27)
An implementation of refunds from the Admin dashboard. To refund, go to Plugins > Subscriptions > Subscriptions then click the `Cancel` button. You'll be presented with a modal. If you wish to refund only the most recent payment, check the box. 

This only implements refunds for Subscriptions, not One Time Payments. One Time Payments will still need to be handled manually at this time.
2020-10-29 10:31:12 -05:00
Justin DiRose 1ad5b17640 FEATURE: Better UX for anonymous users (#25)
Improves the subscription flow for anonymous users by making the routes available, and showing a login button. Clicking login from this page will save a `destination_url` cookie so that when logging in they're redirected back to the subscription page they were at.
2020-10-28 13:30:26 -05:00
Discourse Translator Bot 8ffe769ca9 Update translations 2020-10-27 15:34:26 +01:00
Justin DiRose 3a5078ded6 REFACTOR: Simplify controller setup (#24)
The code in the plugin needed a dramatic cleanup. This refactor collapses the Plan/Product/Subscription controllers on the backend into one new controller: `SubscribeController`.

This reduces N+1 calls to the back end during the subscription process and simplifies use of the code. 

I've also removed a bunch of dead code and refactored some logic into methods for easier readability. No feature/functionality changes in this commit; only refactoring. However, refactoring will allow for implementation of better anonymous user handling, so this is largely a foundation to enable making that change.
2020-10-21 13:36:31 -05:00
Discourse Translator Bot 0bae17dcb6 Update translations 2020-10-20 15:31:51 +02:00
Justin DiRose e13221279d FIX: Loading state persists after bad card entered (#22)
* FIX: Loading state persists after bad card entered

If a bad card number was entered and the subscribe button clicked, the
subscription button still disappeared and subscribing was not possible
without refreshing the page.

* UX: Add missing tooltip

* DEV: Ignore gems directory for local rubocop runs
2020-10-19 20:54:30 -05:00
Discourse Translator Bot 866e485c1c Update translations 2020-10-06 15:16:49 +02:00
Discourse Translator Bot 60b6181f0e Update translations 2020-09-29 13:03:03 +00:00
Discourse Translator Bot 99758a256e Update translations 2020-09-22 13:06:48 +00:00
Justin DiRose d60c5b6d54 UX: fix incorrect text on cancel button 2020-09-16 09:49:45 -05:00
Justin DiRose bdcaaf9897 UX: i18ninize string 2020-09-16 09:44:44 -05:00
Discourse Translator Bot 8022b3c15a Update translations 2020-09-16 10:20:57 +00:00
Discourse Translator Bot aef967192d Update translations 2020-09-15 13:07:07 +00:00
Discourse Translator Bot 772de6ff10 Update translations 2020-08-25 13:03:24 +00:00
Justin DiRose a868e6b838 FEATURE: Cancel payments at end of subscription vs immediately
Previously, when a user canceled a subscription, the access would revoke
immediately on Discourse vs. at the end of the billing period. This
commit changes the behavior to remove membership at the end of the
billing period using Stripe's `cancel_at_period_end` attribute on the
Subscription object.

This commit now requires the setup of webhooks for subscription
processing to occur correctly.
2020-08-19 14:37:47 -05:00
Discourse Translator Bot 91824dcdae Update translations 2020-08-18 13:04:16 +00:00
Discourse Translator Bot 484fc1eb2f Update translations 2020-08-11 13:06:23 +00:00
Discourse Translator Bot cc1e11850d Update translations 2020-08-05 13:30:17 +00:00
Justin DiRose 83002fab3c FEATURE: New styling of product page 2020-07-28 12:46:59 -05:00
Justin DiRose 9e66588038 FIX: Missing translation for daily subscriptions 2020-07-27 10:37:41 -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 fb4f50478d REFACTOR: Use engine to load files, add constraint (#14) 2020-07-06 11:11:04 -05:00
Justin DiRose 88f36c18a6 FEATURE: Add BRL currency support 2020-06-30 10:13:05 -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
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 40a390c3eb merge remote-tracking branch 'upstream/master' 2020-04-23 15:42:13 +05:30