【问题标题】:Fire function when Stripe has error in WooCommerce当 Stripe 在 WooCommerce 中出现错误时触发函数
【发布时间】:2019-09-21 05:22:13
【问题描述】:

我正在尝试在 WooCommerce 结帐流程中发生信用卡错误时触发自定义函数。

我似乎能够通过使用获得标准的 woo 错误,但似乎条纹插件不是我们 woocommerce_add_error

add_filter( 'woocommerce_add_error', 'my_woocommerce_add_error' );

我在 WooCommerce Stripe documentation 中找到了以下钩子,但我似乎无法让它与 add_action 一起使用

wc_gateway_stripe_process_payment_error ($error, $order) – 调用时 处理支付事件发生错误。

add_action( 'wc_gateway_stripe_process_payment_error', 'test_this' );

我错过了什么?我应该使用其他过滤器或挂钩吗?

【问题讨论】:

    标签: wordpress woocommerce stripe-payments


    【解决方案1】:

    我能弄清楚如何做到这一点的唯一方法是观察 dom 上的 dod 插入。这是我在下面使用的代码。

    注意:这些天您可能应该使用变异事件,但由于某种原因,我无法弄清楚。

    $(document).on('DOMNodeInserted', function(e) {
      if ( $(e.target).hasClass('woocommerce-error') ) {
        console.log('stripe input error');         
       }
     });
    

    【讨论】:

      【解决方案2】:

      根据文档https://docs.woocommerce.com/document/stripe/ 这个钩子需要 2 个参数 $error, $order 所以你必须告诉 WordPress:

      add_action( 'wc_gateway_stripe_process_payment_error', 'test_this', 10, 2 );
      function test_this($error, $order) {
      // something
      }
      
      

      对我来说一切正常

      【讨论】:

      • 完美运行!我错过了优先级。感谢您指出这一点。
      • 我目前正在尝试做类似的事情,除了我想向正常的 woocommerce 错误位置发送错误消息......但不知何故,代码不起作用......知道为什么吗? (stackoverflow.com/questions/63472812/…) - 谢谢
      猜你喜欢
      • 2020-08-08
      • 2020-10-24
      • 1970-01-01
      • 2020-02-19
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      • 2010-12-20
      相关资源
      最近更新 更多