Jean-Baptiste Bellet
87a0a5846d
WIP; only advance order to delivery state
...
Use the hidden_field_tag rails helper and move it
2021-07-26 15:47:36 +02:00
Andy Brett
a58e0fe217
Merge pull request #7926 from luisramos0/rubocop_fix
...
Update Rubocop todo files
2021-07-14 10:05:54 -07:00
Luis Ramos
01fe6abeed
Result of rubocop -a, safe autocorrect
2021-07-13 22:38:05 +01:00
Matt-Yorkley
2b8b690892
Tidy up :valid scope in Spree::Payment
2021-07-09 13:28:38 +01:00
Matt-Yorkley
b4a9a6fea5
Add :incomplete scope in Spree::Payment
2021-07-09 13:28:19 +01:00
Matt-Yorkley
b1db06a3c6
Allow payments in requires_authorization state to be voided
2021-07-09 13:24:37 +01:00
Andy Brett
a97b5b7c90
rename payment state machine events to be verbs
2021-06-29 11:54:51 -07:00
Pau Pérez Fabregat
db993652c4
Merge branch 'master' into payment-states
2021-06-18 12:20:26 +02:00
Andy Brett
b41302d5d8
update state transitions for new requires_authorization state
2021-06-17 14:23:59 -07:00
Andy Brett
31738ceb49
rename and consolidate authorization? methods
2021-06-17 14:23:59 -07:00
Andy Brett
a3d9f1f3cc
create requires_authorization payment state and migration
2021-06-17 14:23:58 -07:00
Luis Ramos
23627c5453
Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
...
9290 issues fixed
2021-06-17 22:19:26 +01:00
Matt-Yorkley
5dd24623f7
Merge pull request #7479 from Matt-Yorkley/payment-callbacks
...
Update Payment after_save callback
2021-05-18 16:19:29 +02:00
Matt-Yorkley
a2862e604c
Find relevant payment that matches the payment intent, not the last payment
2021-05-16 23:00:31 +01:00
Pau Perez
69b91ea136
Wait until the end to mark payment as processed
...
This gives us the opportunity to retry the operation in case the
processing fails.
2021-05-06 16:19:01 +02:00
Matt-Yorkley
00c4a28d22
Extract order-updating logic to Order::Updater
2021-05-04 16:40:10 +01:00
Matt-Yorkley
135a311c05
Update void payments
...
Backport from Spree 2.4 stable: 4121992398
2021-05-04 16:40:10 +01:00
Matt-Yorkley
13bb5aa8dd
Update Payment after_save callback
...
Backport from Spree 2.4 stable: 4d652a77fd
2021-05-04 16:40:09 +01:00
Matt-Yorkley
a645b8c58f
Re-apply previous 5.2 commit: Don't reload payments in after_save callback
...
This causes issues in master, but is needed in the 5.2 branch.
2021-05-03 14:17:54 +01:00
Matt-Yorkley
22f79fe540
Reload order before updating in Payment callback
2021-04-27 14:27:35 +01:00
Matt-Yorkley
6dc23804a1
Merge pull request #7425 from mkllnk/application-record
...
Add ApplicationRecord for customisations of models
2021-04-21 23:18:03 +02:00
Andy Brett
aca19edd3b
Merge pull request #7421 from andrewpbrett/rails-5-2-prep-2
...
Prepare for Rails 5.2
2021-04-19 11:32:21 -07:00
Maikel Linke
1364b878fe
Add ApplicationRecord for customisations
...
Rails 5 introduced this new class to confine application-specific monkey
patches to our models only, and not leak into other libraries using
ActiveRecord::Base.
https://bigbinary.com/blog/application-record-in-rails-5
2021-04-15 15:59:03 +10:00
Matt-Yorkley
a4cb698d6f
Don't reload payments in after_save callback
2021-04-14 09:22:18 -07:00
Andy Brett
ebb413bd83
only reload payments after updating order
2021-04-14 09:22:02 -07:00
Matt-Yorkley
e323d016a2
Simplify arguments of #create_adjustment method
2021-04-14 12:01:21 +01:00
Matt-Yorkley
5840b0e33c
Adapt adjustment interface for payment's adjustment being singular
...
Payments only have one adjustment, all other adjustable objects have adjustments (plural).
2021-03-23 18:19:37 +00:00
Matt-Yorkley
a42651d543
Update Payment fee adjustment
2021-03-23 18:17:50 +00:00
Matt-Yorkley
8503e3c5f3
Merge pull request #7023 from Matt-Yorkley/ineligible-efficiency
...
Reduce unnecessary updates in Payment#revoke_adjustment_eligibility
2021-03-17 18:55:01 +01:00
Matt-Yorkley
6bb85e9acd
Fix payment and shipment states issue
...
For some reason the order objects were stale here when calling order.update! from either a payment or shipment callback, which was overwriting those states as nil on the order.
2021-03-11 12:23:00 +00:00
Matt-Yorkley
a670771037
Reduce duplicate updates in Payment#revoke_adjustment_eligibility
...
This was triggering two separate updates, and each of those updates could trigger callbacks, and those could trigger other callbacks. Here we're doing the same thing, but with one update.
2021-03-05 15:12:41 +00:00
Andy Brett
7bb49b51fd
use scope on payment model
2021-02-26 07:44:08 -08:00
Andy Brett
0a7396eb1c
Merge pull request #6713 from andrewpbrett/sca-subs-emails
...
Send emails when subscription payments require SCA auth
2021-02-12 08:23:32 -08:00
Andy Brett
9104ca72a9
refactor to descriptive method authorization_action_required?
2021-02-10 09:36:35 -08:00
Luis Ramos
c0ddeceb1e
Remove Pin Payments
2021-02-06 11:15:48 +00:00
Matt-Yorkley
0e82160b76
Touch the updated_at column when updating records via #update_column
...
#update_column(s) skips callbacks (which is useful), but it doesn't change the updated_at field on the record by default (which we should be doing in these cases).
This change is made in Spree 2.2 here: b367c629ce
2021-01-30 12:49:38 +00:00
Andy Brett
affc82b2b5
update payment jobs delivery methods
2021-01-21 09:18:29 -08:00
Andy Brett
84b5fcf2ce
add resend-authorization-email button to admin screen
2021-01-21 09:17:07 -08:00
Matt-Yorkley
18c9e16303
Fix payment identifier generation
...
Upstream fix from Spree 2.2.
See: 4e747187d7
2021-01-13 17:37:22 +00:00
Pau Perez
97f551a2dd
Replace literal with AR's 4 #not
2020-07-23 20:24:31 +02:00
Pau Perez
357037e429
Recalculate adjustments when invalidating payments
...
Switching from `#invalidate` to `#update_column` skipped both
validations and callbacks and thus, `#ensure_correct_adjustments` was no
longer called for older payments.
2020-07-23 20:24:31 +02:00
Pau Perez
e6943ce554
Fix simple Rubocop issues
2020-07-23 20:24:31 +02:00
Pau Perez
813459ee38
Clarify method documentation
2020-07-23 20:24:31 +02:00
Pau Perez
0f0a704147
Skip source validation when applying credit
...
The original payment may not be valid because its credit card may be
expired. Stripe gives this as a valid scenario returning a success and
we should do too.
When creating the credit payment we end up validating all sources in
a chain as follows.
```
Payment being persisted -> source payment -> original credit card.
```
The source payment was valid when created (It would not be persisted
otherwise) but its source card may now be expired, and that's legit.
There was also an issue with the `#invalidate_old_payments` callback. It
was causing the original payment to be validated again and thus the
credit payment failed to be persisted due to the original credit card
being expired. Switching this callback to use `#update_column` skips
validations and so we don't validate the source payment. We only care
about the state there, so it should be fine.
2020-07-23 20:24:31 +02:00
Pau Perez
f2b28a198d
Replace before_validation with custom validation
...
No reason to use a callback when custom validation methods can be
defined.
2020-07-23 20:24:31 +02:00
Pau Perez
dd5e679f69
Address code review comments
...
Mostly styling issues.
2020-07-16 15:30:28 +02:00
Pau Perez
3435d5ac97
Fix Rubocop non-metrics issues in payment model
2020-07-15 14:01:30 +02:00
Pau Perez
cf64d3a290
Merge skipped callback from decorator into model
...
If we don't want that callback we can just as well remove it now that we
own that code.
2020-07-10 15:07:12 +02:00
Pau Perez
55d52b875f
Run rubocop autocorrect on payment model
2020-07-10 15:04:29 +02:00
Pau Perez
d8b748a851
Merge alias_method method and its original version
2020-07-10 10:41:44 +02:00