Commit Graph

1306 Commits

Author SHA1 Message Date
Pierre de Lacroix
a49c21cfd1 Add instance switch to enable number localization 2017-12-01 13:37:24 +11:00
Pierre de Lacroix
2cd570383f Use localize_number in models 2017-12-01 13:37:24 +11:00
Rob Harrington
9052b1c3db A few updates to spec where 'be true' and 'be false' didn't cut it 2017-11-10 08:47:12 +11:00
Rob Harrington
d42dc2b286 Fix #1902: ensure correct payment state when failed payments are present
Problem: order payments didn't seem to be loaded in any particular order,
and OrderUpdater#update_payment_state was relying on payment order to de-
termine payment state.

Strategy: Adapt a version of this method from a future version of Spree.
I tried to select a version where I would have to make the absolute mini-
mum number of changes to get it to work. See comments in code for justif-
ications of the changes that I did make.
2017-10-20 15:21:59 +11:00
Rob Harrington
b7976a2356 Do not update finalized fee adjustments 2017-10-19 16:54:39 +11:00
Rob Harrington
f96502c369 Add unit specs for CheckoutController#restart_checkout 2017-10-13 12:53:35 +11:00
Rob Harrington
c031b0e52b Clear shipments and payments after failed payment at checkout 2017-10-13 12:53:35 +11:00
Duende13
e5fb8712d7 Simplify Product Edit Screen removing fields and adding 2 new menu options for seo and group buy (#1741) 2017-10-13 11:37:57 +11:00
Rob Harrington
f2ad087be5 Change inheritance of StripeAccountsController 2017-10-13 07:57:16 +11:00
Rob Harrington
75ec77dc31 Remove the 'confirm' step from the order checkout flow
This step is not being responded to anyway, since we are not rending a page for each checkout step

It was causing an issue whereby an order in the 'confirm' state was not able to progress through the
checkout controller because it was expecting to only redirect to paypal from the 'payment' state.
figured it was easiest to just remove the step, seeing as it wasn't being used in any meaningful way.
It should be fine to bring the 'confirm' step back in the future if we need it, we will just have to
make sure paypal the paypal issue is resolved.
2017-09-23 15:15:06 +10:00
Rob Harrington
a09a54e4cb Set transaction fee adjustments to ineligible if payment is invalid or failed 2017-09-23 15:15:06 +10:00
Rob Harrington
db5503dd80 Allow destruction of StripeAccounts even if deauthorise request fails
Log deauthorise failures to Bugsnag
2017-09-23 14:58:35 +10:00
Rob Harrington
ba61f94906 Expose Stripe token creation error messages in Checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
7c82fa3d44 Show more helpful payment processing error in checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
098afc62c1 Fix rubocop issues 2017-09-23 14:58:34 +10:00
Rob Harrington
a74c502fd9 Refactor logic for creating a payment profile from a Stripe token into a service object 2017-09-23 14:58:34 +10:00
Rob Harrington
4464a85a74 Add missing controller specs for CreditCardController #destroy 2017-09-23 14:58:34 +10:00
Rob Harrington
ca1987fc87 Prevent Stripe payment methods without account owners from being saved 2017-09-23 14:58:34 +10:00
Rob Harrington
ecef905444 Allow Stripe-based payments to be voided (refunded) 2017-09-23 14:58:34 +10:00
Maikel Linke
5b7e2f7ca8 Apply style guide 2017-09-23 14:58:34 +10:00
stveep
da5c907e0f Add/remove comments from PR feedback 2017-09-23 14:58:33 +10:00
Rob Harrington
98317e96d0 Remove unused stripe action abilities 2017-09-23 14:58:33 +10:00
Rob Harrington
3b78179dea Ask customer about saving card details used in checkout 2017-09-23 14:58:33 +10:00
Rob Harrington
8901af897a Store card details submitted via checkout 2017-09-23 14:58:33 +10:00
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