Woocommerce 订阅挂钩 scheduled_subscription_payment_ 传递父订单而不是续订订单

Woocommerce subscriptions hook scheduled_subscription_payment_ passes parent order instead of a renewall one

我正在尝试将 Paymaster 定期付款存入现有的支付网关。

标准的钩子调用看起来像这样

add_action('scheduled_subscription_payment_'. $this->id , array($this, 'scheduled_subscription_payment'), 10, 2);

很好,很清楚。 这是函数处理调用:

function scheduled_subscription_payment( $amount_to_charge, $order ) {
    $this->process_subscription_payment($order, $amount_to_charge);
}

没什么特别的,但有一个问题:根据官方文档 $order 参数应该由 Woocommerce 订阅引擎订单自动创建 - 但我收到一个已经处理过的父订单。

我通过 Sheduled actions 中的 Run 按钮启动付款流程:续订订单已创建但从未传递给之前显示的功能。有什么问题吗?

找到答案here。一个人遇到了同样的问题,所以问题是 hook scheduled_subscription_payment_ 已被弃用,我们应该使用 woocommerce_scheduled_subscription_payment_ 而不是