自动完成特定支付网关的 WooCommerce 付款订单

问题描述 投票:0回答:1

我非常迫切需要有人指导我!

我使用带有 Woodmart 主题的 WordPress,我希望自动完成订单。 我安装了codesnippets插件并从codesnippet网站复制了以下代码:

但是之前处理的订单还没有完成! 我应该在“更改付款方式”处添加什么付款方式?

感谢您的帮助

根据付款方式“Moneris Gateway”自动完成 WooCommerce 订单

add_action('woocommerce_order_status_changed', 'ts_auto_complete_by_payment_method');
 function ts_auto_complete_by_payment_method($order_id)
{
 
  if ( ! $order_id ) {
        return;
   }
  global $product;
  $order = wc_get_order( $order_id );
 
  if ($order->data['status'] == 'processing') {
        $payment_method=$order->get_payment_method();
        if ($payment_method!="cod") // Change the Payment Method
        {
            $order->update_status( 'completed' );
        }

  }

}
php wordpress woocommerce payment-gateway payment-method
1个回答
0
投票

在 WooCommerce 中使用 WC Moneris 支付网关 时,为 Moneris 支付网关定义的支付 ID 很简单:

moneris

基于如何在 WooCommerce 中自动完成付款订单? 答案代码,以下是通过 Moneris 支付网关自动完成付款订单的正确方法:

add_filter( 'woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3 );
function wc_auto_complete_paid_order( $status, $order_id, $order ) {
    if ( $order->get_payment_method() === 'moneris' ) {
        $status = 'completed';
    }
    return $status;
}

代码位于子主题的functions.php 文件中(或插件中)。应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.