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
Rimian Perkins
f49c0c89a3
empty form component
2019-08-27 19:56:55 +10:00
Rimian Perkins
abaf101173
initial spec for donation-row component
2019-08-26 17:34:40 +10:00
Rimian Perkins
d0bdfab44b
fix the test runner
2019-08-26 16:01:57 +10:00
Angus McLeod
45ece34200
Add donations causes
2018-09-22 14:03:30 +10:00