Я пытаюсь завершить интеграцию с Google Trusted Store на своем веб-сайте Magento 1.9 CE. В настоящее время я правильно выполнил значок и прошел все тесты. То, с чем у меня проблемы, это сценарий подтверждения суммы в долларах. Я получаю ошибки, что формат неправильный и от ошибки к ошибке формат несовместим. Я попробовал несколько разных фрагментов php, чтобы получить суммы в долларах из разных мест (слишком сложная тема), но, похоже, ничего не работает. Кто-нибудь сталкивался с этим раньше?
Критическая ошибка 1:
Неправильный формат номера: «gts-o-tax-total»
Как исправить: Следуйте требуемому формату при указании общей суммы налогов, связанных с заказом, в поле «gts-o-shipping-total» в коде JavaScript «Подтверждение заказа доверенных магазинов Google».
Требуемый формат: «123,45»
Ваше значение: «1.6500».
Критическая ошибка 2:
Неверный формат значения: «gts-i-price»
Как исправить: Следуйте требуемому формату, указав цену товара, связанную с заказом, в поле «gts-i-price» в коде JavaScript «Подтверждение заказа в Google Trusted Stores».
Требуемый формат: «123,45»
Ваше значение: «19.9900,0.0000».
Большинство ошибок отображаются как первые с двумя дополнительными знаками после запятой. «gts-i-price» — это то, что я не могу понять.
Вот код, который у меня есть на моей странице success.phtml. Я нашел это на SE после того, как попробовал несколько других скриптов:
<?php
$orderId = $this->getOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
$customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
$address = $order->getShippingAddress();
$backorder = false; // some backorder logic
$download = false; // some download logic
$shipDate = new Zend_Date(); // some logic to determine ship date
?>
<div id="gts-order" style="display:none;" translate="no">
<!-- start order and merchant information -->
<span id="gts-o-id"><?php echo $orderId; ?></span>
<span id="gts-o-domain">www.mywebsite.com</span>
<span id="gts-o-email"><?php echo $email = $customer->getData('email'); $email_address2 = $address->getEmail(); if($email=="") $email = $email_address2; ?></span>
<span id="gts-o-country">US</span>
<span id="gts-o-currency">USD</span>
<span id="gts-o-total"><?php echo $order->getGrandTotal(); ?></span>
<span id="gts-o-discounts">-<?php echo $order->getDiscountAmount(); ?></span>
<span id="gts-o-shipping-total"><?php echo $order->getShippingAmount(); ?></span>
<span id="gts-o-tax-total"><?php echo $order->getTaxAmount(); ?></span>
<span id="gts-o-est-ship-date"><?php echo $shipDate->toString('yyyy-MM-dd'); ?></span>
<span id="gts-o-est-delivery-date">ORDER_EST_DELIVERY_DATE</span>
<span id="gts-o-has-preorder">N</span>
<span id="gts-o-has-digital">N</span>
<!-- end order and merchant information -->
<!-- start repeated item specific information -->
<!-- item example: this area repeated for each item in the order -->
<?php foreach ($order->getAllItems() as $item): ?>
<span class="gts-item">
<span class="gts-i-name"><?php echo htmlentities($item->getName()); ?></span>
<span class="gts-i-price"><?php echo $item->getBasePrice(); ?></span>
<span class="gts-i-quantity"><?php echo (int)$item->getQtyOrdered(); ?></span>
<span class="gts-i-prodsearch-id">SKU</span>
<span class="gts-i-prodsearch-store-id">000000</span>
<span class="gts-i-prodsearch-country">US</span>
<span class="gts-i-prodsearch-language">en</span>
</span>
<?php endforeach; ?></div>
Не уверен, смогу ли я помочь, но я также пытаюсь получить эту работу.
Я связался с Google, и они прислали мне этот фрагмент специально для Magento:
<?php
// Obtain order variables with Magento functions
$orderId = $this->getOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
$customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
$address = $order->getShippingAddress();
?>
<!-- START Google Trusted Stores Order -->
<div id="Google Trusted Stores-order" style="display:none;" translate=”no”>
<!-- start order and merchant information -->
<span id="Google Trusted Stores-o-id"> <?php echo $orderId; ?> </span>
<span id="Google Trusted Stores-o-domain"> MERCHANT_ORDER_DOMAIN </span>
<span id="Google Trusted Stores-o-email"> <?php echo
htmlentities($customer->getEmail()); ?> </span>
<span id="Google Trusted Stores-o-country"> <?php echo
htmlentities($address->getCountryId()); ?> </span>
<span id="Google Trusted Stores-o-currency"> CURRENCY </span>
<span id="Google Trusted Stores-o-total"> <?php echo $order->getGrandTotal(); ?> </span>
<span id="Google Trusted Stores-o-discounts"> -<?php echo $order->getDiscountAmount();
?> </span>
<span id="Google Trusted Stores-o-shipping-total"> <?php echo
$order->getShippingAmount(); ?> </span>
<span id="Google Trusted Stores-o-tax-total"> <?php echo $order->getTaxAmount();
?> </span>
<span id="Google Trusted Stores-o-est-ship-date"> ORDER_EST_SHIP_DATE </span>
<span id="Google Trusted Stores-o-est-delivery-date"> ORDER_EST_DELIVERY_DATE </span>
<span id="Google Trusted Stores-o-has-preorder"> HAS_BACKORDER_PREORDER </span>
<span id="Google Trusted Stores-o-has-digital"> HAS_DIGITAL_GOODS </span>
<!-- end order and merchant information -->
<!-- start repeated item specific information -->
<?php foreach ($order->getAllItems() as $item): ?>
<span class="Google Trusted Stores-item">
<span class="Google Trusted Stores-i-name"> <?php echo htmlentities($item->getName());
?> </span>
<span class="Google Trusted Stores-i-price"> <?php echo $item->getBasePrice(); ?> </span>
<span class="Google Trusted Stores-i-quantity"> <?php echo (int)$item->getQtyOrdered();
?> </span>
</span>
<?php endforeach; ?>
<!-- end repeated item specific information -->
</div>
<!-- END Trusted Stores -->
Также он сказал:
Все перечисленные ниже переменные необходимы для запуска кода OCM. Пожалуйста, обратитесь к Переменные уровня заказа здесь.
<span id="Google Trusted Stores-o-est-ship-date">ORDER_EST_SHIP_DATE</span>
<span id="Google Trusted Stores-o-est-delivery-date">ORDER_EST_DELIVERY_DATE</span>
<span id="Google Trusted Stores-o-has-preorder"> HAS_BACKORDER_PREORDER </span>
<span id="Google Trusted Stores-o-has-digital"> HAS_DIGITAL_GOODS </span>
Я изменил переменные по мере необходимости, но для меня, я даже не получаю сообщения об ошибках, как вы получили для OCM, поэтому я не знаю, правильный ли это код, но может быть для кого-то еще.
Я уверен, что вы уже сталкивались со всей этой информацией, но мне тоже нужен ответ.
Других решений пока нет …