You can always accept a deposit on your admin site, simply by making a partial payment. This places the student in Pending status for the class and shows a balance due on the invoice. There is a bit more setup that you need to do to allow students to pay a deposit for a class on your public site.
First navigate to Configure | Preferences and make sure that Allow users to pay deposit-only for valid courses is set to yes.
Create a course and type a deposit amount. Continue to create the course like you normally would, making sure to create a default course fee that is greater than the deposit amount.
When your student sees the payment page on your public ASAP webpage, there will be an option to pay a deposit for the class. This is specifically the amount that you detailed in the prior step. Once this partial payment is made, the student will be placed in pending enrollment status for the class and will remain in pending status until the student pays in full or you change the enrollment status to enrolled