簡體   English   中英

如何在下訂單時執行自定義 javascript,但在重定向到 Magento 1.9 中的支付網關之前?

[英]How to perform custom javascript on place order but before redirection to payment gateway in Magento 1.9?

我需要將我的 Magento 與一些訂單跟蹤服務集成。 服務提供商要求我在結帳流程的最后一頁中包含一些代碼,但在客戶被重定向到支付網關之前。 我使用一頁結帳。 代碼的簡化版本是這樣的

<script type="text/javascript">
var webOrder = {
"id": shop_id,
"sum": order_value
};
</script>
<script type="text/javascript" src="//serivce_address/before.js"></script>

在客戶接受協議並單擊下訂單並接受訂單之前,我不希望執行此代碼。 我怎樣才能做到這一點?

您可以在下單后使用 Magento 的事件/觀察者方法來做一些事情。 您可以使用此活動

sales_order_place_after

在您模塊的事件中。xml

<?xml version=""1.0""?>
<config xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""urn:magento:framework:Event/etc/events.xsd"">
    <event name=""sales_order_place_after"">
        <observer name=""observername"" instance=""Vendor\Module\Observer\YourClass"" />
    </event>
</config>

在 YourClass.php

<?php
namespace NBG\Mailtrigger\Observer;
class YourClass implements \Magento\Framework\Event\ObserverInterface
{
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $order = $observer->getEvent()->getOrder();
        $orderIncrementId = $order->getIncrementId();
        // your logic...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM