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
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
3e6d8734de
FIX: Properly namespace payment serializer ( #15 )
2020-07-06 15:19:45 -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
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
029232e881
FIX: Stripe returned limited number of plans
2020-06-09 12:06:46 -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
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
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
f91b257198
feat(currency-inr): inr added to supported currencies
2020-04-16 01:57:56 +05:30
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
190ca28089
rm subscription event
2020-01-14 20:58:34 +11:00
Rimian Perkins
b83da467d0
respond to incomplete payment
2020-01-14 18:46:48 +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
7d3ca0421a
rm old donation form
2019-12-16 10:59:59 +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
41b0667350
fix rubocop newer version
2019-12-12 09:59:38 +11:00
Rimian Perkins
80b721ddd8
rename some settings
2019-12-04 11:53:05 +11:00
Rimian Perkins
b397ba5a68
name space module
2019-12-04 11:23:45 +11:00
Rimian Perkins
95a263535e
rename server translation
2019-12-04 09:33:39 +11:00
Rimian Perkins
d8a3ae5554
fix broken unauthenticated page
2019-12-03 14:31:15 +11:00
Rimian Perkins
e1506bca5f
fix table name
2019-12-03 13:29:47 +11:00
Rimian Perkins
bdba7686d3
add new table
2019-12-03 13:03:10 +11:00
Rimian Perkins
57a18f5a4e
whoops did not set currency
2019-11-30 17:24:49 +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
3904310432
group concern
2019-11-29 09:01: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