我想知道如何防止用户在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;
}
答案 0 :(得分:0)
您可以清空用户购物车,这意味着他们必须再次添加产品;
Mage::getSingleton('checkout/cart')->truncate()->save();
或者可能会重定向到购物车页面并在那里显示错误,因此他们必须再次完成整个结帐流程;
Mage_Core_Controller_Varien_Action::_redirect('checkout/cart', array('_secure'=>true));