Commit Graph

3463 Commits

Author SHA1 Message Date
Rob Harrington
1fcbf6b44d Clear shipping_method_id from order when restarting checkout
If the order is allowed to retain a shipping_method_id, then subsequent
saves of the order will cause a new shipment to be initialised. Seems to
only happen for delivery shipping methods. This is undesirable because
fees for the new shipment will appear in the checkout summary, which is
not smart enough to recognise existing shipment fees and adjust the order
total accordingly.
2017-10-13 12:53:35 +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
Rob Harrington
6006952603 Moving checkout request specs into their own folder 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
Pierre de Lacroix
508dfa4f23 Fix failing tests assuming localizeCurrency has no "delimiter" 2017-10-13 10:26:13 +11:00
Rob Harrington
f2ad087be5 Change inheritance of StripeAccountsController 2017-10-13 07:57:16 +11:00
Rob Harrington
0b8b5e694e Move Stripe Connect callback action to dedicated controller 2017-10-12 22:47:51 +11:00
Rob Harrington
01f9fd3232 Rename webhook handler status mappings 2017-10-12 22:47:51 +11:00
Rob Harrington
99cac20725 Fall back to 200 when handler returns an unknown result 2017-10-12 22:47:51 +11:00
Rob Harrington
068dbe5013 Add verification to Stripe webhook endpoint 2017-10-12 22:47:45 +11:00
Rob Harrington
ed375a1e2c Build Event object in controller instead of service object 2017-10-12 20:51:17 +11:00
Rob Harrington
4345285164 Allow more granularity in Stripe WebhookHandler responses 2017-10-12 20:51:17 +11:00
Rob Harrington
eb7cb02f33 Namespace stripe webhook controller in Stripe module 2017-10-12 20:50:29 +11:00
Rob Harrington
f22dd7513d Add a service object for handling Stripe webhooks 2017-10-11 17:50:46 +11:00
Rob Harrington
c54119f482 Rename stripe controller action from 'deauthorize' to 'webhook' 2017-10-11 17:11:02 +11:00
Rob Harrington
23d2b3a664 Move Stripe webhook logic into dedicated frontend controller 2017-10-11 16:38:19 +11:00
Rob Harrington
c747bb5305 Remove improper use of quick_login_as_admin from unit spec 2017-10-11 16:10:08 +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
e486dbd4f8 Respond to Stripe webhook with status of 204 if specified account is not found 2017-09-23 14:58:35 +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
dd3d205536 Update deauthorize webhook to latest version of API (again) 2017-09-23 14:58:35 +10:00
Rob Harrington
90007d7114 Prevent Stripe-based payment methods that are not linked to a StripeAccount from displaying in the checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
7ba99c0fe0 Update Bogus Gateway error message in checkout spec 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
665749d0c5 Refactor Stripe::AccountConnector
Connector now handles cancellation of the connection wizard by the user more elegantly
2017-09-23 14:58:35 +10:00
Rob Harrington
d3566f9303 Update deauthorize webhook to latest version of API 2017-09-23 14:58:35 +10:00
Rob Harrington
7d2deca969 Ensure cart_spec runs in context where backorders are disabled 2017-09-23 14:58:35 +10:00
Rob Harrington
0f19be4db4 Configure StripeElements service to map cc_type to that used by activemerchant 2017-09-23 14:58:35 +10:00
Rob Harrington
393a4efbf6 Fix flaky OrderSerializer spec
Make sure that completed payment is for an amount less that the order total
2017-09-23 14:58:35 +10:00
Rob Harrington
4785f3eacc Use lowercased cc_type in CreditCard service 2017-09-23 14:58:34 +10:00
Rob Harrington
e14b017f1f Fix broken Stripe checkout spec 2017-09-23 14:58:34 +10:00
Rob Harrington
d2096cf6d1 Make request stubs less brittle by using regex 2017-09-23 14:58:34 +10:00
Rob Harrington
08c723b10f Use expect syntax instead of should 2017-09-23 14:58:34 +10:00
Rob Harrington
61feb2b27d Rename Stripe existing_card param key to existing_card_id 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
9832966b77 Fix Admin::PaymentsController spec 2017-09-23 14:58:34 +10:00
Rob Harrington
0cd43987de Hide Stripe payment methods without a preferred_enterprise_id from the front-end 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
Rob Harrington
dd56e03be1 Stop setting host for url helpers in specs 2017-09-23 14:58:34 +10:00
Rob Harrington
2ed5e144ca Convert problematic embedded shopfronts feature spec into request spec 2017-09-23 14:58:34 +10:00
Rob Harrington
f9df4d4c93 Rewrite js unit specs for Stripe Elements service 2017-09-23 14:58:34 +10:00
Rob Harrington
1aa477c57c Update feature specs to look for Stripe Elements element 2017-09-23 14:58:34 +10:00
Rob Harrington
69385370ee Initialize Stripe object only if a publishable_key has been defined 2017-09-23 14:58:34 +10:00
stveep
f065cbe251 Fix specs for saved credit cards: Add payment profile ID to fixture (now denotes that a card has been saved), check for current user to avoid error attempting to inject saved cards as a guest 2017-09-23 14:58:33 +10:00
Rob Harrington
41b7be900c Restrict the meaning of 'Saved Cards' to mean those with a payment profile 2017-09-23 14:58:33 +10:00
Rob Harrington
4e96487da9 Redirect to #/payment methods from stripe connect callback 2017-09-23 14:58:33 +10:00