This is a form of the subjunctive, and is quite uncommon.
This form of the subjunctive is formed by inverting the subject and auxiliary verb "had" in the past perfect. So the first word must be "had" and the main verb must be in the past participle form. It is easier to follow if the main verb isn't a form of "have"
Had I seen the boat, I would have waved.
Using the basic form of the verb is not grammatically correct
*(Had I see the boat...)
Using "have" forms a question, not a subjunctive:
Have I seen the boat?
The "had" subjunctive is a rare feature of English. You can nearly always replace it with an "if":
If I'd seen the boat...
So in your example, the only possible form is:
Had I not had cash on me...
The others are either ungrammatical *(had I not have cash), or are a question (did I not have cash?)
But you could say:
If I hadn't had cash...