You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 1.9 如何在下单后跳转支付网关前执行自定义JavaScript

Magento 单页结账订单跟踪代码注入实现方案

因为你使用的是Magento单页结账功能,我们可以通过监听下单事件、绑定订单创建成功回调的方式实现需求,确保跟踪代码仅在符合触发条件时执行:

实现步骤

  • 第一步:在自定义模块或当前主题目录下新建JS混入文件,路径为view/frontend/web/js/view/payment/default-mixin.js,用来覆写原生下单逻辑
  • 第二步:在混入文件中扩展placeOrder方法,在订单受理成功的回调中插入你的跟踪代码,示例代码如下:
define(
    [
        'jquery',
        'Magento_Checkout/js/model/quote'
    ],
    function ($, quote) {
        'use strict';
        return function (originalComponent) {
            return originalComponent.extend({
                placeOrder: function (data, event) {
                    const self = this;
                    // 调用原生下单逻辑,保留原有校验规则
                    const placeOrderResult = this._super(data, event);
                    // 仅在订单后台受理成功后执行跟踪逻辑
                    placeOrderResult.done(function () {
                        // 按业务需求替换为实际的shop_id、订单金额取值逻辑
                        const shopId = quote.getQuoteId();
                        const orderValue = quote.totals().grand_total;
                        
                        window.webOrder = {
                            "id": shopId,
                            "sum": orderValue
                        };
                        // 动态加载第三方跟踪脚本
                        $.getScript('//serivce_address/before.js');
                    });
                    return placeOrderResult;
                }
            });
        };
    }
);
  • 第三步:在自定义模块或当前主题的view/frontend/requirejs-config.js中注册上述混入,让Magento加载时自动注入逻辑:
var config = {
    config: {
        mixins: {
            'Magento_Checkout/js/view/payment/default': {
                'Your_Module/js/view/payment/default-mixin': true
            }
        }
    }
};

触发条件说明

上述逻辑天然满足你要求的触发前提:

  • 用户同意相关协议:Magento原生下单逻辑会优先校验服务协议勾选状态,未勾选时直接阻止下单,不会进入成功回调
  • 点击下单按钮:只有用户主动触发下单动作才会调用placeOrder方法
  • 订单被系统受理:done回调仅在后端返回订单创建成功的响应后触发,订单校验失败、库存不足等异常场景不会执行跟踪代码

注意事项

  • 代码中的Your_Module需要替换为你自定义模块的实际名称
  • shop_id、订单金额的取值规则请根据你的业务需求调整,避免传递错误数据
  • 若你自定义过下单按钮逻辑,可对应调整事件监听的绑定位置

内容的提问来源于stack exchange,提问作者kathdroid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:06:03