我正在使用 Woocommerce 作为我的电子商务网站。我知道 Woocommerce 在确认付款之前创建订单。是不是付款成功才可以创建订单?
实际上,Woocommerce 在付款过程之前创建订单。我认为一个可能的解决方案是检查感谢页面上的订单状态。 结帐后,Woocommerce 会出现在感谢页面上,并提供钩子 'woocommerce_thankyou'。如果付款未完成,状态可能为 '失败' 或 '待处理' 这是一些示例代码:
add_action( 'woocommerce_thankyou', 'remove_order_on_failed_payment', 10, 1 );
function remove_order_on_failed_payment( $order_id ) {
// Get an instance of the order object
$order = wc_get_order( $order_id );
if( in_array( $order->get_status(), ['failed', 'pending'] ) ) {
wp_delete_post($order_id,true);
}
}
我的网站也遇到同样的问题。你找到解决问题的办法了吗?