如何将EAV值传递给Paypal支付信息

时间:2015-06-04 08:48:18

标签: php magento paypal magento-1.9

我已经为客户对象引入了自定义EAV属性。我们称之为myvalue。在magento的几个地方,我打印这样的值:

echo Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();

当客户使用PayPal付款时,我希望将myvalue作为订单号的补充。{1}}。我的意图是将订单与一些店边流程相匹配。

那么,我如何将myvalue传递给paypal以使其与订单号一起显示?

1 个答案:

答案 0 :(得分:3)

您可以尝试将类Mage_Paypal_Block_Standard_Redirect覆盖为以下内容:

protected function _toHtml()
{
    $standard = Mage::getModel('paypal/standard');

    //...

    foreach ($standard->getStandardCheckoutFormFields() as $field=>$value) {
        if ($field == 'REASON_CODE') {
            $myvalue = Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();
            $value .= $myvalue;
        }
        $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
    }

    //...

    return $html;
}

我在foreach中添加了一个条件,用您特殊的客户价值来编辑原因。

我不知道你说话的原因是什么代码,如果你不这样做,你可以先在foreach中记录:

Mage::log($field);
Mage::log($value);

然后在我的示例中忘记编辑'REASON_CODE'getCustomer()->getMyvalue()