Автоматическое завершение заказов, когда по подписке в WooCommerce производится успешный платеж - PullRequest
1 голос
/ 29 апреля 2019

Я использую плагин WooCommerce Подписки для подписок, и он повторяет заказ при продлении подписки, и мне нужно, чтобы при создании повторяющегося заказа после успешной оплаты продления подписки статус заказа изменялся на завершенный.

Я безуспешно пытался использовать следующие крючки:

  • woocommerce_renewal_order_payment_complete
  • woocommerce_order_status_changed
  • woocommerce_payment_complete

1 Ответ

1 голос
/ 30 апреля 2019

Для подписок 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');
    }
}

Связанная документация: Хуки действий подписок WooCommerce

...