It's really quite easy to charge money with PayPal. It just depends on what kind of feedback you want from PayPal. See PayPal's Developer site for more info.
EDIT: I really should explain what I mean by "feedback".
When a user is sent to the PayPal site to pay, you can send him there using a fairly simple web-form (yes, a plain <form>...</form>
.) If you only have 1 product, then this form can even be static HTML.
The tricky part comes after the user pays.
Option 1: Check you PayPal account manually for the payment. If the user paid, then you e-mail him, and send whatever you wanted to sell him. Easiest method, least amount of code. The downsides are that you'll have to do a lot of manual checking, and basically this is just a drain on your attention.
Option 2: Get automatic confirmation from PayPal in your application. Either by getting post-backs sent to an HTTP server by PayPal, or by actively querying the PayPal server for confirmation after waiting enough time for the transaction to have gone through. This means the user gets immediate feedback once the transaction is complete. You could even automatically send him the product! The downside is that such a solution is a lot more code.
Oh, and every time I said "PayPal"? All the services I just mentioned are provided by every credit-card authorization gateway I've ever seen.