You could use "Meri jaan," which literally translates as "my life" but carries the same weight as "darling." This is probably the easiest and most suitable.
[Oh, and that would be pronounced "may-ree jahn".]
He could call her Chandni ki rani (literally Queen of silver) because there's a connection between silver and moon. (Moon is Chand or Chandra.) Or "Shehzadi" which is princess, but Muslim. (Are your characters Hindu or Muslim?) But frankly, those are a bit formal, and would be more appropriate at the courtship phase.
Once they're married, he would likely call her by some cute diminutive of her name, which would have the same implication of affection. For example, if her name is Geetika, he might call her Geetu, or 'my Geetu.' Or something simple like "rani" which means queen. (It's also used as a name.)