Charge a reservation fee that is can be refunded as a credit that can only be used at the restaurant. It will be deducted from your bill or can be used at a later date. Real customers won't object to that.
They will. Either by bouncing the reservation page and/or by giving a nasty review.
The scalper also has to front the money and eat the cost of unsold reservations.
Not really. Restaurant charges 50 dollars for reservation, which gets added as credit at bill. Scalper pays the 50 dollars and charges customer 60 dollars for the reservation. Customer gets the 50 dollars from the restaurant. Scalper keeps the 10 dollars of profit. No rebate is needed for the scalper, they already took the customer money with the deposit included.
Now, for unsold reservations, yes, it helps by adding some risk to the scalper.