我正在为 WooCommerce 编写一个插件,一切正常,但是当我在 webhook 中更改更新时,我在电子邮件中收到通知错误,如果我更新处理付款功能的状态,这不会发生。
即使出现此通知错误,插件也会正确更新状态。
这就是我在 webhook 中更改订单状态的方式,我做错了什么吗?
public function webhook() {
$result = sanitize_text_field($_GET['success']);
$transaction_id = sanitize_text_field($_GET['transaction_id']);
$public_transaction_commerce_id = sanitize_text_field($_GET['public_transaction_commerce_id']);
if($result == 'true')
{
$order = wc_get_order($public_transaction_commerce_id);
$order->update_status( 'completed', 'Pago Confirmado TXID: '.$transaction_id );
WC()->cart->empty_cart();
return wp_redirect($this->get_return_url( $order));
}
else
{
wc_add_notice('El pago no pudo ser procesado, verifique su pedido e intente nuevamente.', 'error' );
return wp_redirect(wc_get_cart_url());
}
}
注意:payment_method ha sido llamada de forma wronga。不应直接访问订单属性。回溯:require('wp-blog-header.php'), wp, WP->main, WP->parse_request, do_action_ref_array('parse_request'), WP_Hook->do_action, WP_Hook->apply_filters, WC_API->handle_api_requests, do_action ('woocommerce_api_glufcopayments'), WP_Hook->do_action, WP_Hook->apply_filters, WC_GlufcoPayments_Gateway->webhook, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_completed'), WP_Hook->do_action, WP_H >apply_filters, WC_Emails::send_transactional_email, do_action_ref_array('woocommerce_order_status_completed_notification'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Email_Customer_Completed_Order->
