Commit Graph

93 Commits

Author SHA1 Message Date
David Taylor d4d92d9653
DEV: Use closure actions (#127) 2022-07-06 00:20:12 +01:00
discoursebot 9a9b5a79c1
DEV: Update CI setup and fix linting issues (#119)
* DEV: Update CI workflows
* DEV: Update deps
* DEV: Fix template linting

Co-authored-by: discoursebuild <build@discourse.org>
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2022-06-11 12:54:30 +02:00
Blake Erickson afe6c10452
FIX: html strong tags showing (#97)
We need to use the `html-safe` helper here so to that the html tags in
the translation template are rendered correctly.

See: https://meta.discourse.org/t/211376
2021-12-09 13:30:45 -07:00
Justin DiRose 5ead25feb6
REFACTOR: Rename s to subscribe (#86) 2021-07-19 19:56:19 -05:00
Jarek Radosz 21d71e09fc
DEV: Fix linting errors (#83)
Template lint errors and broken rubocop linting.
2021-07-04 21:53:55 +02:00
Justin DiRose d660149ad2
UX: Hide campaign button on goal completion (#81) 2021-06-22 11:26:28 -05:00
haroldus- 0b2c8bd513
fix strong (#78) 2021-06-22 09:22:35 -05:00
Jordan Vidrine beb73b58f3
FEATURE: Add fireworks + gradient animation to campaign success banner (#77) 2021-06-21 09:01:35 -05:00
Jordan Vidrine 787c5550c6
FEATURE: Add ability to use custom background image (#76)
* FEATURE: Add ability to use custom background image

* Prettier
2021-06-18 10:20:54 -05:00
Jordan Vidrine a4f36e4966
Campaign topic footer (#72)
* UX: Restyle banner, add topic footer functionality, other updates
2021-06-10 16:02:54 -05:00
Justin DiRose f596a0f78a
FEATURE: Campaigns (#67)
Co-authored-by: Jordan Vidrine <jordan@jordanvidrine.com>

See https://github.com/discourse/discourse-subscriptions/pull/67 for the full description.
2021-06-02 13:15:03 -05:00
Justin DiRose 7f84cee940
UX: Improve usability of purchase page (#54)
Commit does 3 things:

    Remove the duplicative currency abbreviation in favor of the currency symbol alone
    Reorders plans by the cost in ascending order.
    Fixes a flexbox button bug
2021-02-16 12:07:53 -06:00
Justin DiRose ab9b81471b
UX: Adjust repurchase styles to look better (#53)
Suggested here: https://meta.discourse.org/t/subscriptions-suggestions-for-interface-improvements/177970

Changes order and alignment so it makes a bit more sense in the UX of the /s route. Otherwise it looks too cluttered. This specifically impacted products that can be repurchased.
2021-02-15 15:17:45 -06:00
Justin DiRose 072b558d40
FEATURE: Give option to repurchase products multiple times (#46)
Feature requested here: https://meta.discourse.org/t/subscriptions-allow-users-to-purchase-one-time-products-multiple-times/173732/

There may be cases where a site admin wants to allow the repurchasing of a product. This implements the functionality by adding a repurchaseable toggle in the admin screen when creating a product. This saves an attribute to the Stripe product metadata.

When a user has already purchased an item with this toggle enabled, they will be able to purchase it again when browsing to `/s`.
2021-01-31 14:17:44 -06:00
Justin DiRose 400313cded
FEATURE: Allow creation of coupons in admin panel (#43)
Adds full support to create coupon/promo codes in the Admin > Plugins > Subscriptions section of the plugin. The Create Coupon button opens a form on the same page, and the active checkboxes toggle the active status of the coupon code.
2021-01-13 11:47:22 -06:00
Justin DiRose be9e9c0117
FIX: Make URLs subfolder friendly (#29)
Not all URLs in Subscriptions were not subfolder install friendly. This commit uses link-to in places its needed to properly set URLs if on a subfolder install.
2020-11-02 10:20:31 -06: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
Faizaan Gagan 55e6accb9c
FEATURE: Markdown support for product description (#21) 2020-10-12 10:01:33 -05:00
Justin DiRose 83002fab3c
FEATURE: New styling of product page 2020-07-28 12:46:59 -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
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
Rimian Perkins 9176471551 toggle single payments allowed setting 2019-12-17 21:14:13 +11:00
Rimian Perkins 52db93ecd8 user payments page 2019-12-17 16:31:58 +11:00
Rimian Perkins 7d3ca0421a rm old donation form 2019-12-16 10:59:59 +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 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 21b8340f4f rename the translations 2019-12-04 09:29:13 +11:00
Rimian Perkins 08cbff0c1c change engine mount point and base path in jsapp 2019-12-03 10:29:44 +11:00
Rimian Perkins e5753095d8 cannot subscribe to a product twice 2019-11-28 20:11:48 +11:00
Rimian Perkins 3999e1f7fd style the product page a bit 2019-11-14 11:13:12 +11:00
Rimian Perkins 370566b570 only show subscribe buttons when logged in 2019-11-14 09:47:15 +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 fcfb826929 create the token and make the customer request 2019-10-11 12:26:01 +11:00
Rimian Perkins d100de9d19 name not email 2019-09-14 17:56:37 +10:00
Rimian Perkins 404bede398 fix snake case 2019-09-13 13:46:32 +10:00
Rimian Perkins 68b4d07a94 fix jslint and some settings 2019-09-13 13:02:28 +10:00
Rimian Perkins cb9af7c258 send the current user 2019-09-13 12:35:38 +10:00
Rimian Perkins c6555ccc63 some css 2019-09-12 19:04:10 +10:00
Rimian Perkins 22af03a42e add billing to confirm dialog 2019-09-12 18:51:40 +10:00
Rimian Perkins 83fc234b90 settings, headings 2019-09-12 18:27:25 +10:00
Rimian Perkins 6f87f11e4a currency format helper 2019-09-12 18:16:47 +10:00