Sylvain
ae039cdd0c
ordering categories
2021-06-08 17:00:52 +02:00
Sylvain
e1e446ab3f
API+ interface to CRUD plan categories
2021-06-08 16:43:43 +02:00
Sylvain
68f64cfc5c
update the card for payment schedules
2021-06-04 18:26:20 +02:00
Sylvain
89adcf1a9d
WIP: pay item
2021-06-03 16:25:42 +02:00
Sylvain
431ea28448
WIP: payzen recurring payments
2021-06-01 12:20:02 +02:00
Sylvain
d942d46632
WIP: migration to object[]
...
TODO: fix running tests, fix front-end
2021-05-28 17:34:20 +02:00
Sylvain
5f5ec8dbb6
remove references to Invoice.invoiced
2021-05-27 15:58:55 +02:00
Sylvain
c79078c8e1
Merge branch 'dev' into payzen
2021-05-26 14:00:51 +02:00
Sylvain
413bb57c38
[bug] zero-decimal currencies w/ stripe
2021-05-26 13:38:16 +02:00
Sylvain
c7a59c8cb7
WIP: refactoring to singularize the booking process
...
We need to achieve only one process for all booking, not one for subscription, one for reservations, etc.
Moreover we must store one object per invoice_item/payment_schedule_object and stop using Invoice.invoiced or PaymentSchedule.scheduled
2021-05-21 18:25:18 +02:00
Sylvain
66f81a975e
WIP: array of items
...
Migration from cart_items:{reservation:{}, subscription:{}, ...}
to cart_items:{items:[{reservation:{}, ...}], ...}
2021-05-19 18:12:52 +02:00
Sylvain
6bcd9f6fef
Merge branch 'dev' into payzen
2021-05-17 15:07:41 +02:00
Sylvain
7ac119d4cf
[bug] invoices are not generated in test/development if the configured locale is composed
...
Eg. If locale is fr-CA, it was crashing. If locale was only fr, is was working.
Now, composed locales print the watermark using the base locale and
hour_minute format is fetched from the base locale
2021-05-12 17:23:42 +02:00
Sylvain
390f62fd41
[bug] the count of successfully updated events was not correct
2021-05-12 15:53:32 +02:00
Sylvain
e3187460ea
create payment schedules on payzen
...
Also: make generic the creation of products on remote gateway
Also: make generic the call to gateway specific actions
2021-04-30 16:07:19 +02:00
Sylvain
5f47624d4e
WIP: create payment schedule w/ payzen
2021-04-29 17:10:02 +02:00
Sylvain
23e38238c8
fix payment on site modal in case of payment schedule
2021-04-28 17:25:42 +02:00
Sylvain
3dc686840c
front adaptation to cartItems
...
fix payzen customer cart creation
TODO: refactor the payOnSite modals
2021-04-27 17:18:20 +02:00
Sylvain
e75259734c
fix test Subscriptions::CreateAsAdminTest
...
user_id must be read from [:cart_items][:customer_id]
2021-04-27 13:51:23 +02:00
Sylvain
1bf091081b
fix test Reservations::CreateAsAdminTest
...
create subscription from POST api/reservation if the parameter subscription.plan_id is provided
+ cart_items are not wrapped in a reservation object
2021-04-26 18:27:35 +02:00
Sylvain
d5f7bd7abd
fix test Reservations::CreateTest
...
create subscription w/ the reservation if applicable
+ refactor payments_controller to factorize the on_*_success codes
2021-04-26 17:42:03 +02:00
Sylvain
b9e8c8867c
fix running test renew_as_admin_test
2021-04-26 11:40:26 +02:00
Sylvain
bc6ef8ef50
WIP: move backend code base to new architecture
...
- from stripe only to payment gateway abstract
- from reservation params style to unified cart_items
TODO: fix not passing tests,
subscriptions/renew_as_admin_test.rb fails because InvoiceItem(9).amount = nil
2021-04-23 17:54:59 +02:00
Sylvain
94cbcd3236
refactor to use the new price computation system based on ShoppingCart
2021-04-23 12:52:06 +02:00
Sylvain
e456ddc7c9
WIP: refactor the price computation system
2021-04-22 19:24:08 +02:00
Sylvain
26dfbef5e1
WIP: refactor models to use payment_gateway_objects
2021-04-21 17:38:06 +02:00
Sylvain
434ec9c205
refactored Invoices to get rid of stripe references
2021-04-20 17:22:53 +02:00
Sylvain
a897d37b2d
improved footprint debug process
2021-04-16 16:03:10 +02:00
Sylvain
1bbb8c3965
move the architecture from stripe-only to gateway-generic
2021-04-15 17:01:52 +02:00
Sylvain
ddd1ac52d6
save reservation|subscription to db after payment
2021-04-14 17:56:10 +02:00
Sylvain
4d3ead310d
do not run StripeWorker tasks is the gateway is not enabled
2021-04-14 12:18:37 +02:00
Sylvain
4e512dda45
validate the payment server side
2021-04-13 17:16:05 +02:00
Sylvain
ef7dcd37d8
retreive the formToken from PZ API
2021-04-12 12:16:12 +02:00
Sylvain
fd5c3a87ce
rename /api/payment to /api/stripe
...
other payment gateways will have their own separate endpoints
2021-04-12 10:45:41 +02:00
Sylvain
23032c405b
WIP: create the formToken server-side
2021-04-09 17:17:58 +02:00
Sylvain
422acdd162
safely configure and test payzen keys
2021-04-02 17:16:27 +02:00
Sylvain
30830b56fd
PayZen REST API wrapper ruby + live test keys while configuring
2021-04-01 18:20:26 +02:00
Sylvain
c25e54a6af
save & retreive stripe settings
2021-03-30 15:56:36 +02:00
Sylvain
7099f1f317
address required
...
- Ability to set the address as a mandatory field
- The address is new requested when creating an account
- The profile completion page is less fuzzy for people landing on it without enabled SSO
2021-03-23 11:49:05 +01:00
Sylvain
a5b3728f8c
[bug] various fixes on accouting exports
...
- accounting exports may ignore some invoices for the first and last days
- file caching for accounring exports is not used
2021-03-22 17:42:54 +01:00
Sylvain
a74c5d4c95
WIP: plan description
2021-03-03 17:21:11 +01:00
Sylvain
120c9144bb
[security] restrict allowed keys when creating/updating credits
2021-02-24 11:11:18 +01:00
Sylvain
16bb4bc76d
WIP: payment schedules dashboard
2021-02-09 17:18:33 +01:00
Sylvain
ff0c69fc58
stripe card update + cancel subscription
2021-02-09 15:44:56 +01:00
Sylvain
b0ef9e097d
WIP: stripe update card
2021-02-09 12:09:26 +01:00
Sylvain
0e7226c85c
handle stripe requires_action
2021-02-08 15:28:47 +01:00
Sylvain
58af40b8b9
enlight api for cashing checks
2021-02-08 08:56:01 +01:00
Sylvain
b5cdea513d
confirm check cashing api
2021-02-04 17:51:16 +01:00
Sylvain
def0778a4d
basic inteface to retrieve payment schedules
2021-01-25 17:42:30 +01:00
Sylvain
8b13ae45ac
all tests passing
2021-01-04 16:26:52 +01:00
Sylvain
feeed2f450
fix take a reservation + subscription
...
FIXME:
ActionView::Template::Error (undefined method `iso8601' for nil:NilClass)
Callstack:
app/views/api/reservations/show.json.jbuilder:40:in `_app_views_api_reservations_show_json_jbuilder'
app/controllers/api/payments_controller.rb:91:in `confirm_payment_schedule'
2020-12-28 18:30:27 +01:00
Sylvain
65277800e2
fix creation subcription on stripe
2020-12-23 16:25:24 +01:00
Sylvain
f661428db2
better error handling in stripe::subscription creation process
2020-12-23 15:29:56 +01:00
Sylvain
bbf88846dd
refactored Invoice & PaymentSchedule to use inheritance
2020-12-22 14:43:08 +01:00
Sylvain
609d19e5d1
refactored subscription process + renew (update) subscription/ offre free days
2020-12-21 16:12:34 +01:00
Sylvain
40c78974b8
refactoring of reservation:pay_and_save
...
TODO: debug with tests,
refactor subscription:pay_and_save on the same template
2020-12-16 18:33:43 +01:00
Sylvain
ccff463165
test subscription with schedule by user
2020-12-15 15:48:13 +01:00
Sylvain
908ccf5bab
handle reservations+subscription w/ schedule
...
integration testing for payment schedule
debug reservation process
2020-12-14 17:42:23 +01:00
Sylvain
c3c881d2a8
process the schedule to the stripe subscription
...
- only for subscriptions for now
- TODO: reservations (see app/services/reservations/reserv.rb:13)
2020-12-09 16:47:51 +01:00
Sylvain
8e8fc9b682
validate reservation/subscription after payment schedule creation
2020-12-08 17:30:33 +01:00
Sylvain
1d64c517c9
create stripe's paymentIntent
...
associate the paymentMethod (the card) with the customer (the user)
for futur usages in subscriptions
2020-12-08 12:26:03 +01:00
Sylvain
5941446a72
fixes for card payment
2020-12-02 14:28:41 +01:00
Sylvain
6c39191efa
allow payment with stripe-modal react component
2020-12-02 10:06:18 +01:00
Sylvain
34a9084501
pass payment method to the ruby service
2020-11-23 11:48:44 +01:00
Sylvain
678af0de1f
using stripe api + improved ui + ui to configure schedules reference
...
TODO: as an admin, I can select if payment_method = (stripe || local)
2020-11-16 16:37:40 +01:00
Sylvain
78847bdb4b
WIP: create subscription on stripe
2020-11-10 17:02:21 +01:00
Sylvain
21bd1312bc
compute payment schedule + basic display
2020-11-03 16:50:11 +01:00
Sylvain
5f93e6d3be
plan creation: set if it allows monthly payments
2020-10-27 13:06:37 +01:00
Sylvain
13bc5334cc
ability to configure until when the events are shown on the home page
2020-09-29 09:39:32 +02:00
Sylvain
30b3a794d3
[bug] managers cannot see passed events
2020-09-29 08:40:07 +02:00
Sylvain
5eae1c74a8
[bug] Unable to access the invoices section if the stripe key was not set or incorrect
2020-07-01 12:15:45 +02:00
Sylvain
5f0a9ed572
remove dead code
2020-06-29 15:12:32 +02:00
Sylvain
e288f66997
use search index to speed up projects searches
2020-06-23 17:06:59 +02:00
Sylvain
23338eb36d
refactored project search using service
2020-06-23 15:45:38 +02:00
Sylvain
7140571d63
filter & search projets from postgres
2020-06-23 11:19:20 +02:00
Sylvain
1a6cd356bf
WIP: using postgres for full-text search in projects
2020-06-22 16:28:05 +02:00
Sylvain
5e8aeb928c
fix refactoring issue in /api/open_api_clients
2020-06-15 17:07:28 +02:00
Sylvain
24155bc009
ability to lock settings from the env vars
2020-06-15 13:20:48 +02:00
Sylvain
42872ab107
configure wallet from UI
2020-06-15 12:44:43 +02:00
Sylvain
78518e17fb
read stripe_currency from the UI
...
We prevent the currency from being changed if any stripe payment was made, because a stripe user cannot made pay with different currencies. If we try to charge a user with a different currency than the currency he used for a previous payment, this will fail; so we must prevent this case
2020-06-10 16:37:11 +02:00
Sylvain
82d6677cff
read stripe_api_key from db
2020-06-10 11:33:03 +02:00
Sylvain
9ff0a06029
many sidekiq fixes
2020-06-09 18:51:57 +02:00
Sylvain
06b5da9df8
configure online payment from the UI
2020-06-08 17:42:59 +02:00
Sylvain
f78eb10c75
use openlab_app_secret from db w/ openlab_ruby gem
2020-06-08 15:17:56 +02:00
Sylvain
88f2fb3749
secure the settings API (read) + read the openlab settings from the db
2020-06-08 15:08:07 +02:00
Sylvain
5c152412db
test mime type of a file
...
use marcel to test mime types
updated mimemagic
2020-06-03 16:25:13 +02:00
Sylvain
743f3e510a
WIP: Test the mime type of a file
2020-06-03 15:33:04 +02:00
Sylvain
ebe602ad1c
WIP: enforce mime type checking for uploads
2020-06-02 19:18:57 +02:00
Sylvain
434c211ccf
configure the features tour display mode from the UI
2020-05-27 18:49:53 +02:00
Sylvain
537743a740
configure the plans module from the admin UI
2020-05-26 15:39:28 +02:00
Sylvain
6cc6bba7ce
refactored app to gather spaces module status from the settings
2020-05-26 13:59:40 +02:00
Sylvain
acefc325f6
configure events_in_calendar form the UI panel
2020-05-25 17:36:53 +02:00
Sylvain
ba4c39ca99
use slot duration from the db setting
2020-05-25 12:55:01 +02:00
Sylvain
f80eb230ca
refactored code to use Setting.get
2020-05-25 12:54:19 +02:00
Sylvain
37901e4153
[bug] users promoted to the administrator role are not in the admin group
2020-05-12 15:30:57 +02:00
Sylvain
1fdea63828
correct some errors due to Price.compute refactoring
2020-05-11 10:56:23 +02:00
Sylvain
be23cf27c3
use Price.compute to generate invoice items
2020-05-06 12:43:47 +02:00
Sylvain
19de8ca319
fix: manager can offer slot to other users
2020-05-06 09:58:15 +02:00
Sylvain
2d8df2c1cd
Ability to promote a user to a higher role (member > manager > admin)
2020-05-05 11:28:04 +02:00
Sylvain
d8a289e825
fixes change role API
2020-05-04 18:34:26 +02:00