pushback player on collision

Okay I have a 2D topdown game where my player moves anywhere by mouse click. I want my enemies to push back my player on collision. I have a movement script on my enemies as well. Maybe the problem is that i need to disable the movement script on my player once it collides with the enemy so that my player would get pushed back then re-enable it after it get pushed back. But how would I do that? I need a script that bounce my player of my enemy on collision! I’ve looked on Google but I couldn’t find any that match my description. Could anybody help me please! Thank you! here’s my player movement script:

  using UnityEngine;
  using System.Collections;
  using UnityEngine.UI;

  public class MainPlayer : MonoBehaviour {

public float speed = 5f; 
public Text ScoreText;
public AudioClip Coinsound;

private Vector3 target;
private int Score;

void Start () 
{
	target = transform.position;
	Score = 0;
	SetScoreText ();
}
void OnTriggerEnter2D(Collider2D other)
{
	if (other.gameObject.CompareTag ("Pick Up")) 
	{
		other.gameObject.SetActive (false);
		Score = Score + 1;
		SetScoreText ();
		AudioSource.PlayClipAtPoint (Coinsound, transform.position);
	}
}

void SetScoreText ()
{
	ScoreText.text = "Score: " + Score.ToString ();
}
void Update () {
	if (Input.GetMouseButtonDown (0)) {
		target = Camera.main.ScreenToWorldPoint (Input.mousePosition);
		target.z = transform.position.z;
	}
	transform.position = Vector3.MoveTowards (transform.position, target, speed * Time.deltaTime);
}
void LateUpdate () {
	var left = Camera.main.ViewportToWorldPoint (Vector3.zero).x;
	var right = Camera.main.ViewportToWorldPoint (Vector3.one).x;
	var top = Camera.main.ViewportToWorldPoint (Vector3.zero).y;
	var bottom = Camera.main.ViewportToWorldPoint (Vector3.one).y;
	float x = transform.position.x, y = transform.position.y;
	if (transform.position.x <= left + GetComponent<Renderer> ().bounds.extents.x) {
		x = left + GetComponent<Renderer> ().bounds.extents.x;
	} else if (transform.position.x >= right - GetComponent<Renderer> ().bounds.extents.x) {
		x = right - GetComponent<Renderer> ().bounds.extents.x;
	}
	if (transform.position.y <= top + GetComponent<Renderer> ().bounds.extents.y) {
		y = top + GetComponent<Renderer> ().bounds.extents.y;
	} else if (transform.position.y >= bottom - GetComponent<Renderer> ().bounds.extents.y) {
		y = bottom - GetComponent<Renderer> ().bounds.extents.y;
	}
	transform.position = new Vector3 (x, y, transform.position.z);
}

}

Maybe the problem is that i need to disable the movement script on my player once it collides with the enemy so that my player would get pushed back then re-enable

Yes.

if (canMove)
    transform.position = Vector3.MoveTowards (transform.position, target, speed * Time.deltaTime);

I don’t know how you want to do the pushback though.

void OnTriggerEnter2D(Collider2D other)
 {
    if (canMove && other.CompareTag ("Hurt")) 
    {
        StartCoroutine(Knockback());
    }
}

IEnumerator Knockback() {
    canMove = false;
    // coroutine implementation for knocking back the player etc... 
    // maybe play animation and wait for animation to finish?
    canMove = true;
    yield break;
}