Objects seemingly not being instantiated after touch.

I’ve been digging around and trying to find the answer to this question but found nothing. I’m trying to create a simple clicker game but got stuck at the very start… which is not very good. What I’m trying to do is after a touch give the player money (currently just adding +1$) and spawning in a text object saying “+1$”. Seems like the object does not appear. I also made an “animation” which I’m not sure if it’s well made. Both classes:

public class MoneyTap : MonoBehaviour {

public GameObject money;
private Text moneyText;
public long moneyAmount = 0;
public GameObject tapText;
private Vector2 tempPos;
private Vector3 fullPos;

void Start () {
	moneyText = money.GetComponent<Text> ();
}

// Update is called once per frame
void Update ()
{
	moneyText.text = moneyAmount + "$";

	if (Input.touchCount > 0) {
		if (Input.GetTouch (0).phase == TouchPhase.Began) {

			tempPos = Input.GetTouch(0).position;
			fullPos = new Vector3 (tempPos.x, tempPos.y, 0);

			
			RaycastHit2D hitInfo = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.GetTouch(0).position), Vector2.zero);
			// RaycastHit2D can be either true or null, but has an implicit conversion to bool, so we can use it like this
			if (hitInfo) {
				moneyAmount++;;
				Instantiate(tapText, fullPos, Quaternion.identity);
			}
		}
	}
}
}

And:

public class TapTextMovement : MonoBehaviour {

private int frameCount = 0;
private float temp;
public int modifier = 0;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
	if (frameCount < 40) {
		temp = this.transform.position.y + 1F * modifier;

		this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
	} else if (frameCount < 50) {
		temp = this.transform.position.y + 0.5F * modifier;

		this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
	} else if (frameCount < 55) {
		temp = this.transform.position.y + 0.3F * modifier;

		this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
	} else if (frameCount < 60) {
		temp = this.transform.position.y + 0.15F * modifier;

		this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
	} else {
		Object.Destroy (this);
	}
	frameCount++;
}
}

I am a bit new to Unity so every bit of help would be appreciated! Thanks!

RaycastHit2D hitInfo = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.GetTouch(0).position), Vector2.zero);
// RaycastHit2D can be either true or null, but has an implicit conversion to bool, so we can use it like this
if (hitInfo) {
moneyAmount++;;
Instantiate(tapText, fullPos, Quaternion.identity);
}
}

I think you want to create an Object in World Space, so you need World Coordinates

Instantiate(tapText, hitInfo.transform.position , Quaternion.identity);

So you create the GameObject where your Raycast hits World Space.
fullPos is your touch position (in pixel), so you won’t see it