Php WooCommerce Paypal标准网关-变更单状态

Php WooCommerce Paypal标准网关-变更单状态,php,woocommerce,paypal,e-commerce,paypal-ipn,Php,Woocommerce,Paypal,E Commerce,Paypal Ipn,我需要在收到付款时自动将woocommerce订单的订单状态从“待定”更改为“正在处理”: 我使用此功能: add_操作('valid paypal standard ipn request','handle_paypal_ipn_response',50,1); 函数句柄\u paypal\u ipn\u响应($formdata){ 如果(!empty($formdata['invoice'])和(&!empty($formdata['custom'])){ 如果($formdata['pay

我需要在收到付款时自动将woocommerce订单的订单状态从“待定”更改为“正在处理”:

我使用此功能:

add_操作('valid paypal standard ipn request','handle_paypal_ipn_response',50,1);
函数句柄\u paypal\u ipn\u响应($formdata){
如果(!empty($formdata['invoice'])和(&!empty($formdata['custom'])){
如果($formdata['payment_status']=='Completed'){
//解码数据
$order_data=json_decode($formdata['custom'],true);
//得到命令
$order\U id=($order\U data)?$order\U data['order\U id']:'';
$order=新WC\U订单($order\U id);
//有什么事要处理吗?
如果($订单){
如果($order->post->post_status=='wc pending'){
//地位成功
WC_Gateway_Paypal::log('Changing order#'.$order->id.'status from waiting payment to processing');
$order->update_状态(“处理”);
}否则{
//状态失败
WC_Gateway_Paypal::log('Status fail,order#'。$order->id。'Status设置为'$order->post->post_Status',未处理');
}
}否则{
//订单失败
WC_Gateway_Paypal::log('Fail,找不到订单');
}
}否则{
//付款失败
WC_Gateway_Paypal::log('Payment status fail,not completed');
}
}
}
在日志中,我收到以下信息:

2020-10-13T08:01:15+00:00 INFO Received valid response from PayPal IPN
2020-10-13T08:01:15+00:00 INFO Found order #XXX
2020-10-13T08:01:15+00:00 INFO Payment status: completed
2020-10-13T08:01:15+00:00 INFO Aborting, Order #XXX is already complete.
但是顺序不会改变

帮帮我,拜托