Magento - Paypal在审核前查看客户电子邮件

时间:2013-11-20 17:16:43

标签: php magento paypal

我创建了一个自定义Magento模块来检查来自Paypal的被禁客户。并且我超越了returnfromPaypal功能:

    public function returnFromPaypal($token)
{
    $this->_getApi();
    $this->_api->setToken($token)->callGetExpressCheckoutDetails();

    // import billing address
    $billingAddress = $this->_quote->getBillingAddress();
    $exportedBillingAddress = $this->_api->getExportedShippingAddress();

        foreach ($exportedBillingAddress->getExportedKeys() as $key) {

            if (array_key_exists($key, $dataOrg))
            {                   
                $billingAddress->setData($key, $dataOrg[$key]);

            }
        }
        $this->_quote->setBillingAddress($billingAddress);

    if( $this->isCustomerBanned( $this->_quote->getBillingAddress()->getEmail() ) )
        {
             Mage::throwException(Mage::helper('paypal')->__('Sorry!, We cant process you order this time.'));
        }
        else
        {
            parent::returnFromPaypal($token);

        }

}

但问题是,在引用$billingAddress中第一次保存$this->_quote->getBillingAddress()->getEmail()时,这将是空白的。

我想知道是否还有另一种方法可以直接从$exportedBillingAddress搜索客户电子邮件,以便为其搜索文档。但没有找到。 提前致谢

1 个答案:

答案 0 :(得分:0)

我能够弄清楚这一点。我需要的只是覆盖prepareOrderReview()而不是returnfromPaypal()