首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >成功支付后的Woocommerce钩子

成功支付后的Woocommerce钩子
EN

Stack Overflow用户
提问于 2022-07-22 10:07:15
回答 1查看 112关注 0票数 0

我用应急支付作为支付网关。有时它不会在成功的付款后重定向,而且只发生在生产过程中。如果发生这种情况,我想要创建一个备用选项,如果使用一个钩子,我找到了woocommerce_payment_complete和/或woocommerce_order_status_changed

我已经把它加到我的主控制器上了。

代码语言:javascript
运行
复制
public function init() 
{
    add_action('woocommerce_order_status_changed', [$this, 'status_changed', 10, 3]);
    add_action('woocommerce_payment_complete', [$this, 'woocommerce_payment_complete']);
}

public function status_changed( $id, $previous_status, $next_status )
{
    $order = new WC_Order($id);
    $order->update_status( 'completed' );
    var_dump('COMPLETE', $order);
    error_log('status_changed');
    exit;
}

public function woocommerce_payment_complete( $order_id )
{

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
    var_dump('COMPLETE', $order);
    error_log('woocommerce_payment_complete');
    exit;
}

我在每个方法上添加了一个转储,并添加了一个错误日志来检查这些操作是否实际被调用,但它们都没有被调用。

是否有任何方法可以触发这个钩子,或者有另一个钩子可以用来做这个呢?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 10:17:43

您可以将woocommerce_payment_complete_order_status钩子用于相同的

代码语言:javascript
运行
复制
add_filter( 'woocommerce_payment_complete_order_status', 'completed_orders', 9999 );
 
function completed_orders() {
   return 'test';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73078587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档