Commit Graph

78 Commits

Author SHA1 Message Date
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
Rimian Perkins ba73e688f2 validate billing 2019-09-12 17:47:08 +10:00
Rimian Perkins b60244e809 form text 2019-09-12 16:28:19 +10:00
Rimian Perkins e2cec16b99 forms and settings 2019-09-12 16:16:38 +10:00
Rimian Perkins 1add7e9cdf Fix broken test and form wrap 2019-09-12 15:52:30 +10:00
Rimian Perkins 9b69c58be4 Add some billing details 2019-09-12 15:13:08 +10:00
Rimian Perkins a87fcae149 a little formatting 2019-09-12 13:46:30 +10:00
Rimian Perkins c636a2896a some translations 2019-09-12 11:34:54 +10:00
Rimian Perkins 7ad42c9b48 combo box with amounts. use decimals 2019-09-12 11:21:27 +10:00
Rimian Perkins 55bab5d936 rm redundant component 2019-09-12 09:28:01 +10:00
Rimian Perkins 43fde60f3a proper setting 2019-09-12 08:10:41 +10:00
Rimian Perkins a9434f5723 load in components 2019-09-11 20:37:23 +10:00
Rimian Perkins ee2be672f7 initial components 2019-09-11 20:19:50 +10:00
Rimian Perkins 78914e0511 Add new plugin files.
This gets the plugin running again without name collisions. A solid starting point
2019-09-11 13:19:07 +10:00
Rimian Perkins 8d8e9f9ad1 abstract out the stripe component for easy future testing 2019-08-28 14:59:45 +10:00
Rimian Perkins f1de907c32 add the basic form 2019-08-27 22:05:30 +10:00