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
fb4f50478d
REFACTOR: Use engine to load files, add constraint ( #14 )
2020-07-06 11:11:04 -05:00
Justin DiRose
4830468e32
DEV: Fixes for rubocop
2020-06-09 12:37:46 -05:00
Justin DiRose
c30daa1b86
FIX: Couldn't dig the payments
2020-06-09 12:26:31 -05:00
Justin DiRose
d360a4155d
DEV: Fix tests after changes to controllers
2020-05-28 11:45:58 -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
Rimian Perkins
cc389d2423
add the user to the group if subscription is completing
2020-01-26 10:49:51 +11:00
Rimian Perkins
ebe891c09b
fix event hash for subscription
2020-01-25 15:06:05 +11:00
Rimian Perkins
83e7ae2711
spec unsubscribe webhook
2020-01-15 10:20:21 +11:00
Rimian Perkins
dca6c7ddc9
deletes the customer on subscription cancel
2020-01-14 23:38:26 +11:00
Rimian Perkins
95413ee161
get the payload, signature and secret for webhook
2020-01-14 15:37:53 +11:00
Rimian Perkins
0543b3a6a3
basic hook
2020-01-13 11:10:06 +11:00
Rimian Perkins
431279a4f7
Add empty webhook url and upgrade stripe gem
2020-01-10 10:24:09 +11:00
Rimian Perkins
52db93ecd8
user payments page
2019-12-17 16:31:58 +11:00
Rimian Perkins
fcfd2be41b
create a customer when a payment happens
2019-12-17 10:03:00 +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
b397ba5a68
name space module
2019-12-04 11:23:45 +11:00
Rimian Perkins
d8a3ae5554
fix broken unauthenticated page
2019-12-03 14:31:15 +11:00
Rimian Perkins
a95c119bcf
fix paths in request specs
2019-12-03 11:48:12 +11:00
Rimian Perkins
57a18f5a4e
whoops did not set currency
2019-11-30 17:24:49 +11:00
Rimian Perkins
a371d2baf6
fix broke test
2019-11-30 16:55:24 +11:00
Rimian Perkins
709aebb593
set the currency in the plan
2019-11-30 16:39:28 +11:00
Rimian Perkins
3b7ff90672
user removed from the group in admin
2019-11-29 10:37:32 +11:00
Rimian Perkins
36865c5ea1
remove the user from the group in user controller
2019-11-29 09:24:56 +11:00
Rimian Perkins
ad77fc749b
test subcription deletes
2019-11-29 08:15:46 +11:00
Rimian Perkins
2eab43d4a0
delete customer when subscription destroyed
2019-11-29 08:00:13 +11:00
Rimian Perkins
298e70b32a
delete customer record
2019-11-28 20:44:38 +11:00
Rimian Perkins
0fddb5e3b9
backend returns if user is already subscribed
2019-11-28 17:43:03 +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
7340bf5bc5
fix customer id not found
2019-11-26 11:09:54 +11:00
Rimian Perkins
e4093e5a69
fix null delete subscription error
2019-11-14 12:07:24 +11:00
Rimian Perkins
6590d8051c
delete subscriptions in admin
2019-11-14 10:51:04 +11:00
Rimian Perkins
8aed6b8d30
add link to user
2019-11-13 14:21:21 +11:00
Rimian Perkins
84fd12a9a3
add user data to subscription metadata
2019-11-13 10:19:49 +11:00
Rimian Perkins
5153a9a634
fix rubocop
2019-11-12 12:56:35 +11:00
Rimian Perkins
b2c5842aa6
only delete the right subscription
2019-11-12 12:43:23 +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
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