As rightly said above, people negotiate with the salary and make use of the appointment letter to quote their desired amount. This has become a common mindset among people. Firstly, they should not join if they do not agree with the salary. However, in haste, they join some company and later quit when they find a new job with higher pay.
What can be done is one can explain the positives of being with the company even though the salary is less and show them their career path. Conduct the induction properly and make them feel valued in the company even if they have just begun. Do not issue the appointment letter quickly. Communicate to them why you are not giving them the letter and let them know the issues you have faced after giving others the offer letter.
You cannot delay in providing them the letter, but once they have joined, give them the profile they expected. If they need to learn more to reach that stage, explain it to them accordingly.
You can try to do everything from your end, but if they still leave, you cannot do anything. Then just thank them for leaving within a month and not working for so many days that they had to be paid a salary.
Regards,
Ashlesha