Ödeme yönteminde tekliflerin ve siparişlerin nasıl çağrıldığına dair bir şüphem var. Bildiğim, bir teklifin sunulan bir dizi ürün veya hizmet olmasıdır. Magento'da Alıntı Verileri, Onepage Checkout'un Sipariş Ver düğmesini tıklatmadan hemen önce oluşturulur. Sipariş verildikten sonra Sipariş verileri Magento'da oluşturulur. Sipariş onaylandığında Fatura Siparişin yanında gelir.Magento - Alıntı ve Sipariş Arasındaki Fark
Ama Mage_Sales_Model_Order_Payment örneğidir getOrder almak ise validate Yönteminde Sınıf Mage_Payment_Model_Method_Abstract Bilgisi sınıf Örneği denetler neden merak ediyorum() else
Ben bu konuda net değilim() getquote alır. Validate() işlevi iki kez çağrılırsa, ilk kez Alıntı oluşturulduğunda ve Sipariş oluşturulduğunda ikinci kez VEYA Ödeme Yöntemi Sınıfının kendisi iki kez çağrılır.
Lütfen karışıklığımı netleştirin.
/**
* Validate payment method information object
*
* @param Varien_Object $info
* @return Mage_Payment_Model_Abstract
*/
public function validate()
{
/**
* to validate paymene method is allowed for billing country or not
*/
$paymentInfo = $this->getInfoInstance();
if ($paymentInfo instanceof Mage_Sales_Model_Order_Payment) {
$billingCountry = $paymentInfo->getOrder()->getBillingAddress()->getCountryId();
} else {
$billingCountry = $paymentInfo->getQuote()->getBillingAddress()->getCountryId();
}
if (!$this->canUseForCountry($billingCountry)) {
Mage::throwException($this->_getHelper()->__('Selected payment type is not allowed for billing country.'));
}
return $this;
}