在 WooCommerce 中自动处理已付款订单而不是自动完成

Posted

技术标签:

【中文标题】在 WooCommerce 中自动处理已付款订单而不是自动完成【英文标题】:Auto process paid orders instead of auto complete in WooCommerce 【发布时间】:2021-01-07 21:49:36 【问题描述】:

我在 woocommerce、货到付款和信用卡中有 2 个支付网关。

客户用现金发送订单后,我得到订单状态以进行处理。但是,在他们用信用卡付款并且付款成功后,订单状态就完成了。

他们用卡付款后,我怎样才能让订单状态说正在处理?并且只有收到货后,店长才能将订单状态设置为完成。

【问题讨论】:

检查网关文档,他们可能有设置或过滤器/挂钩 【参考方案1】:

尝试使用以下命令,默认情况下将已付款订单状态设置为处理中:

add_action( 'woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3 );
function wc_auto_complete_paid_order( $status, $order_id, $order ) 
    return 'processing';

代码进入活动子主题(或活动主题)的functions.php文件中。

相关:WooCommerce: Auto complete paid orders

【讨论】:

在我手动设置订单完成后,它会保持这种状态吗?还是刷新后会恢复处理? 手动设置订单完成后,会一直这样。钩子woocommerce_payment_complete_order_status,在支付成功后被触发。如果这个答案回答了你的问题,你可以请accept回答,谢谢。

以上是关于在 WooCommerce 中自动处理已付款订单而不是自动完成的主要内容,如果未能解决你的问题,请参考以下文章

在 Woocommerce 中自动将订单状态从处理更改为完成

在 WooCommerce 3+ 中将已付款订单标记为“已完成”,将未付款订单标记为“已取消”[重复]

Woocommerce 订单在创建后获得付款

WooCommerce Paypal 标准网关 - 已收到 IPN,但订单状态停留在“处理中”

将默认 WooCommerce 订单状态更改为处理支票和银行付款

WooCommerce REST API v2:如何处理付款?