如何将 EAV 值传递给 Paypal 支付信息
How to pass an EAV value to the Paypal payment information
我为客户对象引入了自定义 EAV 属性。让我们称之为我的价值。在 magento 的几个地方,我正在打印这样的值:
echo Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();
当客户使用paypal 付款时,我希望在原因中添加myvalue
作为订单号的补充。我的目的是将订单与一些店面流程相匹配。
那么,如何将 myvalue
传递给 paypal 以使其与订单号一起可见?
您可以尝试将 class 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()
。
我为客户对象引入了自定义 EAV 属性。让我们称之为我的价值。在 magento 的几个地方,我正在打印这样的值:
echo Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();
当客户使用paypal 付款时,我希望在原因中添加myvalue
作为订单号的补充。我的目的是将订单与一些店面流程相匹配。
那么,如何将 myvalue
传递给 paypal 以使其与订单号一起可见?
您可以尝试将 class 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()
。