A man who stabbed a shopkeeper in Cardiff after he caught trying to use a fake £50 note has been jailed.