You can block the option to do a one-time payment on the Customer Portal by going (as an admin) to:
Settings > Customer Portal > Allow one-time payments > Save
Please note your customers will still have the possibility to add payment methods on file for you to auto-charge them or charge them on demand.