I think I didn't understand you the first time (and this time, not completly...).
The data you want to return to the main form is from a ListView\ListBox?
Anyway, I can't understand why using:
strEftId = the value selected
in the selectItem(...) method does not work?
The idea is that if you have a public memeber, like the strEftId, you can get it from the instance of the Payment form.
If you call from the main form to the payment form like this:
Payment payment = new Payment();
payment.ShowDialog();
string value = payment.strEftId;
It should complie.
The only thing left to do is set the value of strEftId after user made a selection in the Payment form (as I explained above).
Hope this is clear, if not, let me know.