1

I'm at a lost - orders are reporting that they received an order confirmation email (which I can see in our logs are being sent) but the orders are not actually created in our system.

When I search via the admin order grid - the order is not there.

When I search Braintree, I can see the order number and that the transaction has been voided.

Any guidance would be greatly appreciated.

1
  • 1
    Check for clues in your log files? Oct 5, 2019 at 4:24

1 Answer 1

0

The problem was with vendor/magento/module-quote/Model/QuoteRepository/Plugin/AccessChangeQuoteControl.php::beforeSave() - this triggers isAllowed(). If false, then an exception is thrown.

This was only returning false during after payment authorization and as Magento attempted to modify the cart quote.

isAllowed() tests:
- (a) Is customer logged in && does customer ID match quote ID. If this fails, the exception is thrown. I think this is our issue since this only happens to registered users. It could be a migration issue on customer quotes. - (b) it tests "if guest", a logged in customer is not allowed. - (c) and, if admin, true always

If any other code happens to throw an exception during this request, you'll end up with the same problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.