It's perfectly doable with PayPal. It's extremely easy to set up, there are great tutorials for many languages (including C# and VB.NET). The commission fees for their services are affordable, so money won't be driven out of your business. There are various options for specifying the price of your virtual currency (the user can be instructed to make fixed- or variable amount purchases).
When a purchase is made, PayPal issues an HTTP request to a URL that you specify in your control panel. In this HTTP request, it passes an ID of the purchase. All you need to do is connecting to PayPal's site through HTTPS and query the purchase details such as customer name, amount, etc. Samples are provided for many languages. You just need to negotiate with your hosting provider if they support outbound HTTPS queries.
In order to provide support for your users to get real money (in exchange for your virtual currency), it may make sense to instruct them to get a PayPal account, too. That way, you can exchange real money with no commission at all! AFAIK, other options are also available, but they are just more expensive.
On your business layer, you need to maintain support for your virtual currency. For example, when you receive an HTTP notification, you need to convert real currency (USD, Euro, etc.) received in a payment, into your own currency. Typically, you would need a database where customers are stored together with a journal of their spendings/earnings in your virtual currency.
Also, I would recommend buying an SSL certificate, since your website will need authentication and reporting in a confidential manner.