Magento 如何防止付款模块多次提交?

Magento 如何防止付款模块多次提交?,magento,Magento,我想知道如何防止用户在Magento上提交多次付款 当支付失败时,问题开始出现,然后用户可以返回(浏览器上的“后退”按钮)并重试多次 if($response == 3 || $responsecode == 300){ $this->cancelAction(); Mage::getSingleton('core/session')->addError("Invalid payment ".$responsetext.". Try again."); Mag

我想知道如何防止用户在Magento上提交多次付款

当支付失败时,问题开始出现,然后用户可以返回(浏览器上的“后退”按钮)并重试多次

if($response == 3 || $responsecode == 300){
    $this->cancelAction();
    Mage::getSingleton('core/session')->addError("Invalid payment ".$responsetext.". Try again.");
    Mage_Core_Controller_Varien_Action::_redirect('checkout/onepage/failure', array('_secure'=>true));
    return $this;
}

您可以清空用户购物车,这意味着他们必须再次添加产品

Mage::getSingleton('checkout/cart')->truncate()->save();
或者可能重定向到购物车页面并在那里显示错误,所以他们必须再次完成整个结账过程

Mage_Core_Controller_Varien_Action::_redirect('checkout/cart', array('_secure'=>true));

您可以清空用户购物车,这意味着他们必须再次添加产品

Mage::getSingleton('checkout/cart')->truncate()->save();
或者可能重定向到购物车页面并在那里显示错误,所以他们必须再次完成整个结账过程

Mage_Core_Controller_Varien_Action::_redirect('checkout/cart', array('_secure'=>true));

这是标准的magento onepage签出吗?在哪个阶段失败(即最终订单提交阶段,付款后的阶段)?如果失败,为什么不允许用户重试???重新添加所有产品的烦人用户体验。。。如果你真的想要这个功能,你可以简单地在失败时清空购物车,回答如下。是的,这是一个标准。主要原因是一些用户试图进行欺诈。例如,如果出现“支付失败”屏幕,他们会返回并更改信用卡号码,然后重试。他们以相同的顺序重复这个过程。这是标准的magento onepage签出吗?在哪个阶段失败(即最终订单提交阶段,付款后的阶段)?如果失败,为什么不允许用户重试???重新添加所有产品的烦人用户体验。。。如果你真的想要这个功能,你可以简单地在失败时清空购物车,回答如下。是的,这是一个标准。主要原因是一些用户试图进行欺诈。例如,如果出现“支付失败”屏幕,他们会返回并更改信用卡号码,然后重试。他们以相同的顺序重复这个过程。