我正在使用WooCommerce订阅插件进行订阅,它会在订阅续订时重复订购,我需要的是,在成功订购续订付款后创建订单定期订单时,订单状态应更改为已完成。
我试图使用以下钩子失败:
woocommerce_renewal_order_payment_complete
woocommerce_order_status_changed
woocommerce_payment_complete
对于WooCommerce订阅,您需要使用woocommerce_subscription_payment_complete
动作挂钩,这是在订阅续订付款时触发的。
您可以尝试以下方法将当前订单状态更新为已完成:
add_action('woocommerce_subscription_payment_complete', 'subscription_payment_complete_hook_callback', 10, 1);
function subscription_payment_complete_hook_callback( $subscription ) {
// Get the current order
$current_order = $subscription->get_last_order( 'all', 'any' );
// For Paypal recurring orders
if( $current_order->get_payment_method() === 'paypal' ) {
// Update status to completed
$current_order->update_status('completed');
}
}