好的,这是我的情景,我有一张使用优惠券12345,两个用户A和B同时使用相同的优惠券。如果用户A已应用优惠券并且当前位于付款页面,则Woocommerce接受来自用户B的相同优惠券12345并且两个交易都是成功的。
有什么方法可以阻止这种情况吗?
答案 0 :(得分:0)
您可以尝试等待woocommerce修复此错误:
// Hook after order creation and before going to payment page
add_action( 'woocommerce_checkout_order_processed' , 'increase_immediately_coupon', 10, 2);
function increase_immediately_coupon( $order_id, $received ){
$order = new WC_Order( $order_id );
$order->increase_coupon_usage_counts();
}
// Hook if gateway send and on-hold status
add_action( 'woocommerce_order_status_on-hold' , 'decrease_immediately_coupon', 10, 1);
function decrease_immediately_coupon( $order_id ){
$order = new WC_Order( $order_id );
$order->decrease_coupon_usage_counts();
}