私は、お支払い方法で見積もりと注文がどのように呼び出されているか疑いがあります。私が知っていることは、見積もりが提供された一連の製品またはサービスであるということです。マゼンタで見積もりデータは、[ページのチェックアウト]の[注文ボタン]をクリックする直前に作成されます。注文が行われた後、注文データがMagentoで作成されます。注文が確認された場合、請求書は注文の横に表示されます。Magento - 見積もりと注文の差
しかし、それはMage_Sales_Model_Order_PaymentのインスタンスがgetOrderを取るであるかどうかを検証メソッドのクラスMage_Payment_Model_Method_Abstractは、情報クラスのインスタンスをチェックし、なぜ私が思っていた()他の
私はこれではっきりしていないよ()たgetQuoteを取ります。 Validate()関数は2回呼び出されます。つまり、Quoteが初めて作成され、2番目にOrderが作成されたとき、またはPayment Method Class自体が2回呼び出されたときです。
私の混乱を明確にしてください。
/**
* 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;
}