Hi Luke,
Based on you description, it sounds to me like Moodle should accommodate your requirements.
In Moodle, the Paypal plugin is an enrolment plugin. You will need to add it as an enrolment method to your course and configure things like price and currency. Then, when a learner tries to enrol in the course, the payment process should be triggered.
For more information on using the PayPal enrolment plugin, please see:
https://docs.moodle.org/34/en/PayPal_enrolment
Hope you find this useful.
Best regards,
Michael Milette