if (Yii::$app->user->isGuest){
Yii::$app->getResponse()->redirect(['site/login']);
}
Pero no deberías necesitarlo, si has configurado el access filter la acción comprar debería requerir la validación del usuario y al pulsar el botón comprar le dirigirá al formulario de login (por defecto), si valida volverá a donde estaba el usuario.