Commit Graph

2082 Commits

Author SHA1 Message Date
Rob Harrington
576e4db9be Authorize StripeAccount#status using the account object
Rather than the enterprise
2017-09-23 14:58:33 +10:00
Rob Harrington
ce65a9d063 Bump stripe gem version to 3.0.1
Allows us to use the stripe gem's built-in OAuth wrappers, rather than our own
2017-09-23 14:58:33 +10:00
Rob Harrington
0e14704572 Kill empty space 2017-09-23 14:58:33 +10:00
Rob Harrington
e9d062a8c2 Use nested module/class definitions instead of compact style 2017-09-23 14:58:33 +10:00
Rob Harrington
f3af36deca Disable rubocop Style/PredicateName check against override of Spree method 2017-09-23 14:58:32 +10:00
Rob Harrington
ecb78233d9 Use guard clauses where possible 2017-09-23 14:58:32 +10:00
Rob Harrington
42dd58426e Auto-correct rubocop offences for stripe-connect 2017-09-23 14:58:32 +10:00
Rob Harrington
c83755f901 Clean up StripeConnect gateway 2017-09-23 14:58:32 +10:00
Rob Harrington
ae2d3d3fd9 Refactoring StripeHelper into service objects 2017-09-23 14:58:32 +10:00
Rob Harrington
01ce092ebc Handle Stripe token creation request failure 2017-09-23 14:58:32 +10:00
Rob Harrington
6499d17cb1 Adding feature toggle config variable for Stripe Connect 2017-09-23 14:58:32 +10:00
Rob Harrington
b9d72ce4cf Refactoring logic for displaying orders on the front-end account page 2017-09-23 14:58:32 +10:00
Rob Harrington
f4c3fbf8bc Refactoring credit cards interface, and backend logic 2017-09-23 14:58:32 +10:00
Rob Harrington
269a60b36f Adding request specs for case when using an existing card stored by Stripe for payment 2017-09-23 14:58:32 +10:00
stveep
1449169b16 Basic UI for adding credit card details and getting a Stripe token without making a payment 2017-09-23 14:58:31 +10:00
Rob Harrington
33a3db8698 Making :source attr_accessible for Spree::Payment 2017-09-23 14:58:31 +10:00
stveep
50c3d1367d Tidy up comment 2017-09-23 14:58:31 +10:00
stveep
33b570b117 Inject cards for current user into checkout and add selector dropdown to gateway partial. 2017-09-23 14:58:31 +10:00
stveep
3b05b76b80 Bring in ability to store CreditCards against Users from Spree 2.3 (spree commit d470b31798f3). 2017-09-23 14:58:31 +10:00
Rob Harrington
c97a140471 WIP: Storing Stripe card details for later use
NOTE: No interface for actually selecting a stored card to use yet
2017-09-23 14:58:31 +10:00
Rob Harrington
7c831c9844 Adding StripeJS to checkout page
Allow tokens to be request and passed through as payment source_attributes
2017-09-23 14:57:02 +10:00
Rob Harrington
f87f4310f0 Adding #status controller action for stripe accounts to fetch current info direct from Stripe 2017-09-23 14:57:02 +10:00
Rob Harrington
d500c20d3f Adding new StripeConnect payment gateway 2017-09-23 14:57:02 +10:00
stveep
5ae473e07f Add specs, fix redirect after requring relogin 2017-09-23 14:57:02 +10:00
Steve Pettitt
7fd8c5956d Check CSRF, allow a Stripe account to be connected to more than one enterprise (but not vice versa) 2017-09-23 14:57:02 +10:00
Steve Pettitt
06279848c6 Stripe auth and callback working. Still need to process callback. 2017-09-23 14:57:02 +10:00
Steve Pettitt
3623325cab Add missing files 2017-09-23 14:57:01 +10:00
Steve Pettitt
df18329233 Starting Stripe integration 2017-09-23 14:57:01 +10:00
Rob Harrington
f3322dd82e Transfer responsibility for checking for orphaned PayPal payments from Payment model to Spree::PayPalController 2017-09-23 14:26:03 +10:00
Rob Harrington
11ccb9a6d2 Revert "Fix for #1826, ensure that adjustment states are initialized prior to validation"
This reverts commit d7de7d462f.

No longer required after we pulled in the correct migrations from Spree
2017-09-22 11:16:29 +10:00
Continuous Integration
4cec7213b5 Merge remote-tracking branch 'origin/master' into HEAD 2017-09-22 10:07:55 +10:00
Rob Harrington
3f3085c66b Add detailed explanation of why #destroy_orphaned_paypal_payments is required 2017-09-21 12:11:46 +10:00
Rob Harrington
f4b1c5de9c Remove orphaned PayPalExpress payments when processing actual PayPalExpress payment
Fixes both #1074 and #1837
2017-09-21 12:11:39 +10:00
Julius Pabrinkis
1fe20eba45 Add backend to be able to switch language by param and persist in cookies and user db 2017-09-20 13:23:15 +10:00
Rob Harrington
d7de7d462f Fix for #1826, ensure that adjustment states are initialized prior to validation 2017-09-14 13:39:22 +10:00
Pau Perez
a763c24f3c Doc what with_lock does 2017-09-08 23:55:51 +10:00
Pau Perez
f6c8a11b7b Move ResetOrderService to new app/services 2017-09-08 23:55:50 +10:00
Pau Perez
3c73282d57 Manually reset the order once completed
Spree does not call after_<order.state> methods any more as of
https://github.com/spree/spree/pull/2557, so our #after_complete method
is never triggered and thus the order never reset.

This makes the condition:

```ruby
if current_order.andand.distributor == @order.distributor
```

in app/views/spree/orders/form/_update_buttons.html.haml return false
and as a result the "Back To Cart" button is not shown.

This commit resets the order (emptying the session[:order_id] and
creating a new order, aka. cart) right from the
CheckoutController#update rather than relying on infernal callbacks (of
what the Spree core team itself was unhappy about since long ago
https://github.com/spree/spree/issues/2488). There is the first place
where we know the order has been successfully completed.
2017-09-08 23:55:50 +10:00
Enrico Stano
72292b1dd3 Use new state API instead of locked
be554fde9f
2017-09-08 23:55:49 +10:00
enricostano
4e35c0448b Use the state machine API to add state transition callbacks
See the following links for more context:
http://guides.spreecommerce.org/release_notes/spree_2_0_0.html#removal-of-checkoutcontrollerstatecallback
1d9581c884
2017-09-08 23:55:49 +10:00
enricostano
d2b6a47ae4 Use new #available_to_order API 2017-09-08 23:55:49 +10:00
Rohan Mitchell
bfaaf16030 Fix spree adjustments fix that maybe never worked? 2017-09-08 23:55:49 +10:00
Rohan Mitchell
0a043a6919 Add permissions to :line_item resource, now called by Spree 2017-09-08 23:55:48 +10:00
Rohan Mitchell
858576d870 CalculatedAdjustments requires include first 2017-09-08 23:55:48 +10:00
Rohan Mitchell
38da4c8e12 Adjustments now have state instead of locked/unlocked 2017-09-08 23:55:48 +10:00
Pau Perez
649c25622a Add doc to method 2017-08-11 14:41:02 +10:00
Pau Perez
1f2820f6d4 Add #delivery? in ShippingMethod 2017-08-11 14:41:02 +10:00
Matt-Yorkley
113f6565be Enable iframes for embedded shopfronts 2017-07-26 13:56:36 +10:00
Julius Pabrinkis
9fa7a30c7e Fix failing tests and extract validation message Procs into methods 2017-07-21 12:17:12 +10:00
Julius Pabrinkis
9971c9f923 Extract translations from models 2017-07-21 12:17:12 +10:00