Php 在Magento中授权后,我在哪里根据订单详细信息设置订单状态?
作为一个额外的欺诈控制,我想根据客户下订单后的某些订单详细信息设置不同的订单状态 比如:Php 在Magento中授权后,我在哪里根据订单详细信息设置订单状态?,php,magento,e-commerce,magento-1.7,payment-gateway,Php,Magento,E Commerce,Magento 1.7,Payment Gateway,作为一个额外的欺诈控制,我想根据客户下订单后的某些订单详细信息设置不同的订单状态 比如: if($order->getPayment()->getTransaction()->getAdditionalInformation('avszip') != Y) $order->setState('review for fraud'); else $order->setState('processing'); 我在哪里做这个?我假设我会截取一些默认的setSta
if($order->getPayment()->getTransaction()->getAdditionalInformation('avszip') != Y)
$order->setState('review for fraud');
else
$order->setState('processing');
我在哪里做这个?我假设我会截取一些默认的setState代码行
app/code/core/Mage/Sales/Model/Order/Payment.php
您可以在或销售(订单)付款(地点)结束后为销售(订单)(地点)创建观察者
<events>
<sales_order_place_after>
<observers>
<fraudtracking>
<type>singleton</type>
<class>fraudtracking/observer</class>
<method>changestatus</method>
</fraudtracking>
</observers>
</sales_order_place_after>
你知道有一个Magento SE站点吗?目前处于测试阶段:这正是我所需要的。谢谢
//Create a new status in Admin -> System -> Order Statuses
$STATE = 'fraud';
$_order = $event->getOrder();
if($order->getPayment()->getTransaction()->getAdditionalInformation('avszip') != Y){
$_order->addStatusHistoryComment('Review for fraud', $STATE)
->setIsVisibleOnFront(false)
->setIsCustomerNotified(false);
}