繁体   English   中英

Magento 2.3.3 - 结帐成功重定向到购物车

[英]Magento 2.3.3 - Checkout success redirects to cart

  • 马内托 2.3.3
  • 基于文件的会话
  • 无清漆

迁移到新主机后,我们遇到了一个问题,其中大约 1/3 的订单是成功的(可以在后端看到它们),点击订单成功页面但被重定向回他们的购物车而没有错误。 显然,对于客户来说,这似乎是他们的订单可能失败了。

由于/vendor/magento/module-checkout/Controller/Onepage/Success.php@execute:23 ,它们被重定向

if (!$this->_objectManager->get(\Magento\Checkout\Model\Session\SuccessValidator::class)->isValid()) {
    return $this->resultRedirectFactory->create()->setPath('checkout/cart');
}

\Magento\Checkout\Model\Session\SuccessValidator@isValid:

public function isValid()
{
    if (!$this->checkoutSession->getLastSuccessQuoteId()) {
        return false;
    }

    if (!$this->checkoutSession->getLastQuoteId() || !$this->checkoutSession->getLastOrderId()) {
        return false;
    }
    return true;
}

我正在记录所有订单成功 checkoutSession 数据,在重定向客户的情况下, last_success_quote_idlast_quote_idlast_order_id都是NULL

查看所有订单,似乎没有区分成功与重定向的模式。 混合使用了多种支付网关(paypal、sagepay),因此假设支付网关不是这里的问题。

我已经尝试了文件和基于 session 存储的 redis,都没有解决问题。

我以前遇到过与您类似的问题。

情况如下:

  1. 网站建立在 Magento 2.3
  2. 支付方式为自定义支付方式
  3. 在外部支付网关上完成后,它会重定向到购物车页面而不是成功页面。

我使用调试找到了原因。

问题是 magento 没有向 API 提供购物车的报价 ID。

所以我确实修复了它,问题就消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM