I really think these questions should all be answered before taking on any serious clients.
Different people have different ideas of how they want to do business but here's how I would do it. Make an agreement. Explain to him what SEO means and that is does not happen over night. I really don't see how you would do one time payments because SEO takes months to compete for tough keywords. Because of this, I would think you would want to do an ongoing monthly fee. Give him projections as ot where you will be 3 months down the road of the SEO campaign. Have a monthly call and send him a monthly report. If he sees constant improvement every month and you can show him that, he will stay for a long time.
Just remember, it's all about the relation. You can have a good relationship and bad results and keep a client, but you can't have good results and a bad relationship.
Also, if you can show him how the SEO is contributing to dollars going into his pocket, he will never drop you. Track things and be able to show him when someone came from Google and chose his business. That's what clients really care about.