Видимо, пользовательский сеанс не сохраняется, если вы применяете купон.Вы должны сначала добавить продукт или сделать что-то еще, что хранит ваш сеанс.Хотя мы можем сделать это вручную, а именно, создав файл cookie сеанса самостоятельно.
if( !WC()->session->has_session() )
WC()->session->set_customer_session_cookie(true);
Взял меня весь день.Надеюсь, кто-нибудь сможет его использовать.