Just call. Assuming that he migh have a flush it would be unwise to pay him a lot. Because taking into account his implied
odds (which consist of how much you pay him on the river) his calls would be correct.
I would play this in different way. Flop bet was obviously correct (I would bet even more seeing flush draw). But when third heart comes I would just use my positional advantage and check the turn in order not too build a big pot.
If you bet you give him correct implied odds on the flop. He had 9 outs which gave him about 18% of chances to catch up on turn but with your bet he needed at least 25% to break even (2 bets in the pot, 1 your bet and 1 his call =1/4). His call would be obviously bad. But if you are willing to put another bet (equal to 2 flop bets) into the pot when third heart comes, his implied odds increase. Now on flop he is calling 1 bet hoping to win not 4 but a total of 6 bets. His break even percentage is 1/6=17%. He had proper implied odds to chase assuming that you would bet the turn.
Therefore you either need to bet more on flop or just check on turn. Of course you would be giving him a free card but if he already has a flush it doesn't matter and if he has other type of hand it doesn't matter that much either because either you are already behind or he has very slim outs (for 2 pairs or a set).
I preffer to check turn rather than betting more on flop because you only have one pair and you shouldn't create a big pot with it. Therefore:
Bet on flop. Check on turn. Call a medium sized bet on the river. It would be much more difficult without position because as you check on turn you could induce a bluff based on the scare card and you would face a tough decision.