我将Shipworks 3与Magento 1.5.1一起使用,并希望通过采购订单NUMBER。现在支付类型已经通过,但我需要采购订单编号,因此可以在打包单,发票和运输标签上打印/打印。
这是shipworks.php的一个片段。我猜我只需添加到此部分,但不确定要添加什么。
感谢您的帮助。
$payment = $order->getPayment();
// CC info
if ($secure)
{
$cc_num = $payment->getCcNumber();
}
else
{
$cc_num = $payment->getCcLast4();
if (!empty($cc_num))
{
$cc_num = '************'.$payment->getCcLast4();
}
}
$cc_year = sprintf('%02u%s', $payment->getCcExpMonth(), substr($payment->getCcExpYear(), 2));
writeStartTag("Payment");
writeElement("Method", Mage::helper('payment')->getMethodInstance($payment->getMethod())->getTitle());
writeStartTag("CreditCard");
writeElement("Type", $payment->getCcType());
writeElement("Owner", $payment->getCcOwner());
writeElement("Number", $cc_num);
writeElement("Expires", $cc_year);
writeCloseTag("CreditCard");
writeCloseTag("Payment");
答案 0 :(得分:2)
我能够使用以下内容将我的号码显示在备注中。这是我用的。希望它有所帮助。
// CC info
if ($secure)
{
$cc_num = $payment->getCcNumber();
}
else
{
$cc_num = $payment->getCcLast4();
if (!empty($cc_num))
{
$cc_num = '************'.$payment->getCcLast4();
}
}
$cc_year = sprintf('%02u%s', $payment->getCcExpMonth(), substr($payment->getCcExpYear(), 2));
writeStartTag("Payment");
writeElement("Method", Mage::helper('payment')->getMethodInstance($payment->getMethod())->getTitle());
writeStartTag("CreditCard");
writeElement("Type", $payment->getCcType());
writeElement("Owner", $payment->getCcOwner());
writeElement("Number", $cc_num);
writeElement("Expires", $cc_year);
writeCloseTag("CreditCard");
writeCloseTag("Payment");
writeStartTag("Notes");
writeFullElement("Note", $payment->getPoNumber(),array("public" =>"true"));
writeCloseTag("Notes");
WriteOrderItems($order->getAllItems());
WriteOrderTotals($order);
答案 1 :(得分:0)
Shipworks对它收到的XML标签非常挑剔。您不能只是在响应中添加内容,因为它会在尝试与您的Magento商店同步时在SW软件中引发错误。您可以使用当前未使用的现有元素来添加它。在我们的例子中,我们没有使用礼品消息,它被添加到响应中作为 Notes ,所以我重新使用 Notes 元素来包含其他内容。
查看WriteOrder
函数(第396行)并找到此部分:
if ($order->getGiftMessageId())
{
$message = Mage::helper('giftmessage/message')->getGiftMessage($order->getGiftMessageId());
$messageString = "Gift message for ". $message['recipient']. ": ". $message['message'];
writeStartTag("Notes");
writeFullElement("Note", $messageString, array("public" => "true"));
writeCloseTag("Notes");
}
注释掉这一部分并添加如下内容:
if ($order->getPoNumber())
{
writeStartTag("Notes");
writeFullElement("Note", $order->getPoNumber(), array("public" => "true"));
writeCloseTag("Notes");
}
注意:我不知道$order->getPoNumber()
是否真的有用......这只是您需要做的一个示例