Rigidbody2D stop enemy movement on collision?

I have the following code to make my enemy run towards the player

void Update(){

	//If alerted, face player 
	if(isFacingPlayer == true){
		facePlayer();
	}

	//Charge player
	if(isCharging == true){
		Invoke("chargePlayer", 1);
	}else if(isCharging == false){
		stopCharge();
	}

	//If health reaches zero, dead
	if(health == 0){
		//Destroy(gameObject);
	}
void facePlayer(){
	Vector3 vectorToTarget = Player.transform.position - transform.position;
	float angle = Mathf.Atan2(vectorToTarget.y, vectorToTarget.x) * Mathf.Rad2Deg;
	Quaternion q = Quaternion.AngleAxis(angle, Vector3.forward);
	transform.rotation = Quaternion.Slerp(transform.rotation, q, Time.deltaTime * speed);
	isCharging = true;
}

void chargePlayer(){
	step = speed * Time.deltaTime;
	transform.position = Vector2.MoveTowards(transform.position, Player.transform.position, step);
	anim.Play("zombie_charge");	
}

void stopCharge(){
	anim.Play("zombie_idle");
}

void OnCollisionEnter(Collision collision){
	isCharging = false;
}

However I don’t know how to make the enemy stop when stopCharge() is called. transform.position has been modified, so how can I change it to the enemy’s current 2d coordinates?

False

if(isCharging == true){
Invoke(“chargePlayer”, 1);
}else if(isCharging == false){
stopCharge();
}

TRUE

if(isCharging )
Invoke(“chargePlayer”, 1);
else
stopCharge();