gpt4 book ai didi

php - Magento:当用户放弃 Paypal 付款时,库存商品减少

转载 作者:行者123 更新时间:2023-12-04 18:16:07 26 4
gpt4 key购买 nike

我有一个用 magento 开发的电子商务网站,我使用 paypal 作为付款方式。当用户在购物车中为产品“连衣裙”添加 2 件商品并转到结帐页面并单击下订单按钮时​​,我将用户重定向到 Paypal 网站进行付款。但是也有一些用户放弃支付,离开了paypal页面。

当他们点击下订单时,magento 会在后端生成一个订单并保持其状态为 Pendin,一旦 paypal 付款完成并且用户重定向回我们的网站,该订单的状态会更新为处理中,因为付款已完成。但是如果用户在没有付款的情况下离开 pyapal 支付页面,那么我的产品库存会减少,其他用户无法下订单,直到我取消垃圾订单。

有什么方法可以使这个过程自动化,如果用户不支付 Paypal ,那么库存/库存应该恢复正常吗?

请帮忙,谢谢!

最佳答案

这是我们自过去几个月以来一直在使用的 cron。此代码检查超过 7 分钟到 30 分钟的挂单并取消它们。对我来说,这可以恢复库存。

       public function cancelPending()
{


$orderCollection = Mage::getResourceModel('sales/order_collection');
$orderCollection
->addFieldToFilter('status', 'pending')
->addFieldToFilter('created_at', array('lt' => new Zend_Db_Expr("DATE_ADD('".now()."', INTERVAL -'0:07' HOUR_MINUTE)"),
'gt' => new Zend_Db_Expr("DATE_ADD('".now()."', INTERAL -'0:30' HOUR_MINUTE)")));

foreach($orderCollection->getItems() as $order)
{
$orderModel = Mage::getModel('sales/order');
$orderModel->load($order['entity_id']);

if(!$orderModel->canCancel())
continue;

$orderModel->cancel();
$orderModel->setStatus('canceled');
$orderModel->save();

}

我的订单待付款的默认状态是“待处理”。你可能不得不改变它。

关于php - Magento:当用户放弃 Paypal 付款时,库存商品减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11685499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com